重复'row.names'错误读取表.row.names = NULL移动列

Chr*_*son 7 r

这类似于read.csv row.names/sf/ask/869791961/,但我看不到有帮助的答案.

问题:尝试读取包含第一列中重复数字的文件,但在row.names = NULL时移动列标题.

我正在尝试将以下文件读入R中

TripId  VID TspVID  VWT VCLS    Week

201110041426    2226    33889   1   0   41

201110041501    2226    33889   1   0   41

201110041510    2226    33889   1   0   41

201110041557    2226    33889   1   0   41
Run Code Online (Sandbox Code Playgroud)

(这是一个包含数千行和~200列的CSV文件的Excel摘录.第一行中的条目数和所有其他条目的条目数相同.第一行中有重复项. t与此视图中的标签对齐,但它们在CSV空间中.)

命令

> lm.table  <- read.table(file= file.in, sep=",", header=TRUE)
Error in read.table(file = file.in, sep = ",", header = TRUE) : 
  duplicate 'row.names' are not allowed
Run Code Online (Sandbox Code Playgroud)

不起作用.对row.names使用第一列意味着第一行的值小于其他行,但实际情况并非如此.我当然不希望第一列作为row.names.

我尝试设置row.names = NULL

> lm.table  <- read.table(file= file.in, sep=",", header=TRUE, row.names=NULL)
Run Code Online (Sandbox Code Playgroud)

哪个运行,但列已被移动

> head(lm.table)

     row.names TripId   VID TspVID VWT VCLS       Week     Date TimeStart TimeEnd     Lat1

1 201110010006   2226 33889      1   0   40 2011/09/30 17:06:37  17:25:16 47.5168 -122.209

2 201110010028   2226 33889      1   0   40 2011/09/30 17:28:45  17:43:14 47.5517 -122.058

3 201110010000   2231 45781      1   0   40 2011/09/30 17:00:00  18:02:30 32.9010 -117.193

4 201110011407   2231 45781      1   0   40 2011/10/01 07:07:57  07:48:17 32.7044 -117.004
Run Code Online (Sandbox Code Playgroud)

请注意,已引入新列名"row.names并且整个行向右移动.

这是> head(lm.table)结果的尾部.它将列标签移动到未定义的列上(我认为这也显示了列标签的数量=列数,从检查中也是如此).

      FVavR FVstdR FIdlR

1  3.959140      2    NA

2  5.285770     20    NA

3  4.274140     26    NA
Run Code Online (Sandbox Code Playgroud)

知道为什么我在列中移位以及如何不移位并让row.names只是升序数字?

小智 7

有同样的问题.刚添加这一行:

colnames(rec) <- c(colnames(rec)[-1],"x")
rec$x <- NULL
Run Code Online (Sandbox Code Playgroud)

  • 我想你可以将它浓缩为一行,作为`colnames(rec)< - c(colnames(rec)[ - 1],NULL) (2认同)

Rya*_*yan 0

我使用了以下代码:

lm.table  <- read.table("file name", header=TRUE, row.names=NULL)
Run Code Online (Sandbox Code Playgroud)

这在左侧添加了一列,其中包含编号的行名称,但我没有发现列名称发生了移位。是否您的列名称仍然与正确的列匹配,但 R 输出使其看起来名称已发生变化?