[R] Why do I have a column called row.names?

Ed Siefker ebs15242 at gmail.com
Mon Jun 4 19:47:11 CEST 2012


I'm trying to read in a tab separated table with read.delim().
I don't particularly care what the row names are.
My data file looks like this:


start   stop    Symbol  Insert sequence Clone End Pair  FISH
203048  67173930        ABC8-43024000D23                TI:993812543
 TI:993834585
255176  87869359        ABC8-43034700N15                TI:995224581
 TI:995237913
1022033 1060472 ABC27-1253C21           TI:2094436044   TI:2094696079
1022033 1061172 ABC23-1388A1            TI:2120730727   TI:2121592459



I have to do something with row.names because my first column has
duplicate entries.  So I read in the file like this:

> BACS<-read.delim("testdata.txt", row.names=NULL, fill=TRUE)
> head(BACS)
  row.names    start             stop Symbol Insert.sequence Clone.End.Pair
1    203048 67173930 ABC8-43024000D23     NA    TI:993812543  TI:993834585
2    255176 87869359 ABC8-43034700N15     NA    TI:995224581  TI:995237913
3   1022033  1060472    ABC27-1253C21     NA   TI:2094436044 TI:2094696079
4   1022033  1061172     ABC23-1388A1     NA   TI:2120730727 TI:2121592459
  FISH
1   NA
2   NA
3   NA
4   NA


Why is there a column named "row.names"?  I've tried a few different
ways of invoking this, but I always get the first column named row.names,
and the rest of the columns shifted by one.

Obviously I could fix this by using row.names<-, but I'd like to understand
why this happens.  Any insight?



More information about the R-help mailing list