Skip to content
Prev 22890 / 398502 Next

row.names - problem with vers. 1.4.1

This should work:

prices.raw<-read.table(paste(path,"prices",date,".txt",sep=""),row.names=NULL,header=T)
prices <- as.matrix(prices.raw[,-1])
dimnames(prices)[[1]] <- as.chararacter(prices.raw[,1])

Your problem comes because you are telling R to use the first column of the 
table as row names, but as R is replying to you, it doesn't like that 
because they're not unique.  So the simple solution is to let R generate 
it's own row names and treat the row names in the file as the first column 
of data.  Then convert the rest of the data frame to a matrix, and finally, 
use the first column of the data frame as the row names of the 
matrix.  (Matrices can have non-unique dimnames).

Are you sure you can use read.table in R1.5.1 to read a file with duplicate 
row names?  I can't:

 > 
sink("clipboard");print(matrix(1:6,ncol=2,dimnames=list(c("A","B","A"),c("x","y")))); 
sink()
 > readLines("clipboard")
[1] "  x y" "A 1 4" "B 2 5" "A 3 6"
 > prices.raw <- read.table("clipboard", row.names=1)
Error in "row.names<-.data.frame"(*tmp*, value = row.names) :
         duplicate row.names are not allowed
 > prices.raw <- read.table("clipboard", row.names=NULL)
 > prices.raw
   row.names x y
1         A 1 4
2         B 2 5
3         A 3 6
 > prices <- as.matrix(prices.raw[,-1])
 > dimnames(prices)[[1]] <- as.character(prices.raw[,1])
 > prices
   x y
A 1 4
B 2 5
A 3 6
 > version
          _
platform i386-pc-mingw32
arch     i386
os       mingw32
system   i386, mingw32
status
major    1
minor    5.1
year     2002
month    06
day      17
language R

hope this helps,

-- Tony Plate
At 09:07 AM 8/23/2002 +0200, Herr.Alfred at gmx.net wrote:
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._