这类似于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)
我使用了以下代码:
lm.table <- read.table("file name", header=TRUE, row.names=NULL)
Run Code Online (Sandbox Code Playgroud)
这在左侧添加了一列,其中包含编号的行名称,但我没有发现列名称发生了移位。是否您的列名称仍然与正确的列匹配,但 R 输出使其看起来名称已发生变化?