附加(不需要的)" X"将.csv导入R

时间:2015-10-20 13:35:59

标签: r import

我的计算机中有这个.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

这个很好,除了&#34; X&#34;在行名称之上。原始文档中没有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

如何防止这种情况&#34; X&#34;从自动生成?

编辑:在下面的评论之后,我尝试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

...在行名开始之前显然有一个空单元格......

1 个答案:

答案 0 :(得分:0)

归功于@Richard Erickson(见评论)。感谢其他人。我在此发帖以便日后搜索同一问题:

read.table(file.choose(), row.names = 1, header=T, sep=",")

   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

和...

str(dat)
'data.frame':   10 obs. of  7 variables:
 $ COC: int  3 21 4 0 0 8 0 3 0 0
 $ EG : int  22 7 0 12 2 7 0 0 1 0
 $ EE : int  0 1 10 5 0 3 0 0 0 0
 $ AC : int  0 0 0 0 2 0 0 0 0 0
 $ LE : int  4 0 12 2 2 1 0 0 0 0
 $ ME : int  3 0 0 1 0 0 0 0 0 0
 $ SC : int  50 15 21 8 26 8 1 2 1 2

所以我猜这个问题不是列,而是需要指定的行名。