[R] read.table with numeric row names
arun
smartpink111 at yahoo.com
Fri Jul 13 17:59:01 CEST 2012
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
More information about the R-help
mailing list