0
当“X”我有此.csv文件在我的电脑,并且当我导入成R用下面的代码行:附加(不想要的)在报头中导入的.csv成R
dat <- read.table(file.choose(),sep=',', header=T)
我得到:
X COC EG EE AC LE ME SC
1 CE 3 22 0 0 4 3 50
2 AU 21 7 1 0 0 0 15
3 WA 4 0 10 0 12 0 21
4 HH 0 12 5 0 2 1 8
5 MH 0 2 0 2 2 0 26
6 HA 8 7 3 0 1 0 8
7 TY 0 0 0 0 0 0 1
8 PK 3 0 0 0 0 0 2
9 SR 0 1 0 0 0 0 1
10 FU 0 0 0 0 0 0 2
这个如果很好,除了在行名称顶部的“X
”。有原稿上没有X:
,COC,EG,EE,AC,LE,ME,SC
CE,3,22,0,0,4,3,50
AU,21,7,1,0,0,0,15
WA,4,0,10,0,12,0,21
HH,0,12,5,0,2,1,8
MH,0,2,0,2,2,0,26
HA,8,7,3,0,1,0,8
TY,0,0,0,0,0,0,1
PK,3,0,0,0,0,0,2
SR,0,1,0,0,0,0,1
FU,0,0,0,0,0,0,2
我怎样才能防止这种“X
”被自动产生的?
编辑:经过下面的评论我试了dat <- read.table(file.choose(),sep=',', header=T, check.names=F)
,现在显示,如果完美。
然而,事情是非常错误的(正如评论中所建议的)。所以,如果我做了
str(dat)
'data.frame': 10 obs. of 8 variables
当它应该阅读10 obs. of 7 variables
我不明白这一点,因为如果我刷新我的记忆有:
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
...显然存在一个空细胞在排名开始之前...
在原始文档中添加一个?列名不能为空。 – Heroka
如果列名以数字元素开头或缺失,则会添加'X'。如果你不需要,'check.names = FALSE'是一个选项。虽然我不确定在列名错误的情况下会发生什么情况。 – akrun
严格来说,列名_can_为空,(使用'check.names = FALSE'),但是这使得列很难以任何有意义的方式使用,但也许''dat [[1]]',我wouldn'建议定期做这件事。 – Benjamin