read.table with numeric row names
Hi Peter,
I copied the data from your email and run it again.
dat1<-read.table(text="
? 2.5? 3.6? 7.1? 7.9
? 100? 3????? 4????? 2??? 3
? 200? 3.1? 4????? 3????? 3
? 300? 2.2? 3.3? 2??? 4
? ",sep="",header=TRUE)
dat1
??? X2.5 X3.6 X7.1 X7.9
100? 3.0? 4.0??? 2??? 3
200? 3.1? 4.0??? 3??? 3
300? 2.2? 3.3??? 2??? 4
colnames(dat1)<-gsub("^[X](.*)","\\1",colnames(dat1))
I am? not sure what happened with your end.? May be you could try
readtable(...., fill=TRUE)
I guess Chi was able to read it as I understood from his email:
("Thanks. It works very good.Chi"
A.K.
----- Original Message -----
From: peter dalgaard <pdalgd at gmail.com>
To: arun <smartpink111 at yahoo.com>
Cc: kexinz <zhangchicool at gmail.com>; R help <r-help at r-project.org>
Sent: Friday, July 13, 2012 10:27 AM
Subject: Re: [R] read.table with numeric row names
On Jul 13, 2012, at 04:27 , arun wrote:
Hello,
I saw your reply in nabble.? Sorry about that.? I thought the dataset had only few columns.
#You can read first line of a file using:
readLines("foo.txt",n=1)[1]
#The more generic colname substitution
dat1<-read.table(text="
? 2.5? 3.6? 7.1? 7.9
? 100? 3? ? ? 4? ? ? 2? ? 3
? 200? 3.1? 4? ? ? 3? ? ? 3
? 300? 2.2? 3.3? 2? ? 4
? ",sep="",header=TRUE)
(This didn't survive too well in mail:
dat1<-read.table(text="
+? 2.5? 3.6? 7.1? 7.9 +? 100? 3? ? ? 4? ? ? 2? ? 3 +? 200? 3.1? 4? ? ? 3? ? ? 3 +? 300? 2.2? 3.3? 2? ? 4 +? ",sep="",header=TRUE)? Error in read.table(text = " \n 2.5? 3.6? 7.1? 7.9 \n 100? 3? ? ? 4? ? ? 2? ? 3 \n 200? 3.1? 4? ? ? 3? ? ? 3 \n 300? 2.2? 3.3? 2? ? 4 \n ",? : ? more columns than column names Not sure exactly what happened there...)
? #The code should remove the "X" from the column names (row names?)
However, adding check.names=FALSE should be more expedient.
colnames(dat1)<-gsub("^[X](.*)","\\1",colnames(dat1))
dat1
? ? 2.5 3.6 7.1 7.9
100 3.0 4.0? 2? 3
200 3.1 4.0? 3? 3
300 2.2 3.3? 2? 4
plot(colMeans(dat1)~as.numeric(names(dat1)),xlab="Column_Name",ylab="Column_Mean")
A.K.
----- Original Message -----
From: kexinz <zhangchicool at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Thursday, July 12, 2012 2:50 PM
Subject: [R] read.table with numeric row names
I have a text file like this
? ? ? ? ? 2.5? 3.6? 7.1? 7.9
100? 3? ? ? 4? ? ? 2? ? 3
200? 3.1? 4? ? ? 3? ? ? 3
300? 2.2? 3.3? 2? ? 4
I used "r <- read.table("a.txt", header=T)"
The row names becomes X2.5, X3.6... What I need is the row names are
numeric, so I can use the row names as numbers on x-axis for plotting. e.g.
"plot(colMeans(r)~names(r))", something like this. How to do this?
Thanks.
--
View this message in context: http://r.789695.n4.nabble.com/read-table-with-numeric-row-names-tp4636342.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Peter Dalgaard, Professor Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd.mes at cbs.dk? Priv: PDalgd at gmail.com