我从MASS中获取了mtcars数据集,并进行了一些修改。在从一个包转到另一个包之后,我终于把数据放进了记事本,在那里我仔细地确保空格是分隔符。我的问题是,这样创建的文件不会被读入。我有一个测试文件,它读入得很好。
你能解释一下错误信息告诉我什么吗?非常感谢。下面给出了所使用的错误消息和代码。
TEST.txt
120 140 7.5
140 150 8.5
mtcars2=read.table(file="TEST.txt",header=FALSE)
mtcars2
# V1 V2 V3
# 1 120 140 7.5
# 2 140 150 8.5 OK
mtcars2.txt问题数据集
160 110 2.62
160 110 2.875
160 110 2.32
160 110 3.215
160 115 3.44
mtcars2=read.table("c:\data\mtcars2.txt",header=FALSE)
警告消息:1:在read.table("c:\data\mtcars2.txt",标题中=FALSE(:第1行似乎包含嵌入的null。。。6:在扫描(file=file,what=what,sep=sep,quote=quote,dec=dec,:在输入NOT OK 中发现嵌入的nul
我还尝试了以下内容:
mtcars2=read.table("c:\data\mtcars2.txt",fill=T,header=FALSE)
我使用了剪切/粘贴,效果很好。然后我在第一个空格前放了一个null,得到了:
line 1 appears to contain embedded nulls.
我怀疑您修改了文件,使您输出的值类似于带有终止零的'c' strings
;或者CCD_ 2也会产生麻烦,因为它具有零
要检查文件中每个字节的内容,可以使用UNIX/Linux od
程序:
od -c filename
样本输出:
0000000000 1 6 1 1 2 . 6 2 r n 1
0000000020 6 1 1 2 . 8 7 5 r n 1 6
0000000040 1 1 2 . 3 2 r n 1 6
> dss <- read.table(header=TRUE, text='
+ 160 110 2.62
+ 160 110 2.875
+ 160 110 2.32
+ 160 110 3.215
+ 160 115 3.44
+ ')
> dss
X160 X110 X2.62
1 160 110 2.875
2 160 110 2.320
3 160 110 3.215
4 160 115 3.440
>
header=TRUE可以被删除。