[R] read.table with numeric row names
peter dalgaard
pdalgd at gmail.com
Fri Jul 13 20:16:00 CEST 2012
On Jul 13, 2012, at 17:59 , arun wrote:
> 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)
>
More likely, I need something to filter out oddball characters inserted by Nabble or one of the mail agents. Watch this: Cut+paste from arun (22:17), Chi (07:09), and arun (07:08)
> 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<-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<-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
The clue seems to be that the 3rd variant has a trailing space added to each line. No big deal, just drove me up the wall for while this afternoon...
> 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
--
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