我从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”中,header = FALSE):第1行似乎包含嵌入的空值... 6:In scan(file = file,what = what,sep = sep,quote = quote,dec = dec,: 在输入中找到的嵌入式nul
我也尝试了以下内容:
mtcars2=read.table("c:\\data\\mtcars2.txt",fill=T,header=FALSE)
答案 0 :(得分:1)
我使用剪切/粘贴,它工作正常。然后我在第一个空格之前放了一个null,然后我得到了:
line 1 appears to contain embedded nulls.
我怀疑您修改了文件,使得输出的值与'c' strings
一样,终止为零;或者Unicode (16 bit)
也会给它带来麻烦,因为它有零
检查文件中每个字节的内容可以做的一件事是使用UNIX / Linux od
程序:
od -c filename
示例输出:
0000000000 1 6 \0 \0 1 1 \0 2 . 6 2 \r \n 1
0000000020 6 \0 1 1 \0 2 . 8 7 5 \r \n 1 6
0000000040 \0 1 1 \0 2 . 3 2 \r \n 1 6 \0
答案 1 :(得分:0)
> 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可能会被移除。