[R] row.names - problem with vers. 1.4.1
Tony Plate
tplate at blackmesacapital.com
Fri Aug 23 17:48:37 CEST 2002
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:
>Hi,
>
>need a little help:
>
>I want to handle a file with a first column like this:
>...
>27.10.98
>28.10.98
>29.10.98
>...
>
>In vers. 1.5.1 I can use a statement like:
>
># load daily
>prices
>prices<-as.matrix(read.table(paste(path,"prices",date,".txt",sep=""),row.names=1,header=T))
>
>
>In ves. 1.4.1 R generates an ERROR:
>Error in "row.names<-.data.frame"(*tmp*, value = row.names) :
> duplicate row.names are not allowed
>
>For a reason too complex to explain I HAVE TO use 1.4.1! Can anyone tell me
>how to solve this problem in 1.4.1?
>
>TIA,
>Alfred.
>
>--
>
>
>
>-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
>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
>_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list