[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