R中的混淆错误:扫描错误(文件,内容,nmax,sep,dec,quote,skip,nlines,na.strings,:第1行没有42个元素)

ber*_*436 35 r

我是R.的新手.我正在尝试读取以空格分隔的"CSV"文件.该文件没有标题.看起来像这样

Element1 Element2
Element5 Element6 Element7
Run Code Online (Sandbox Code Playgroud)

我试着像这样读它:

> mydata <- read.table("/PathTo/file.csv")
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 1 did not have 14 elements
Run Code Online (Sandbox Code Playgroud)

为什么它会在第一行中期待14个元素?如何导入此文件?

Sim*_*lon 76

read.table想要返回一个data.frame,每列必须有一个元素.因此,R期望每行具有相同数量的元素,并且默认情况下不填充空格.尽量read.table("/PathTo/file.csv" , fill = TRUE )填补空白.

例如

read.table( text= "Element1 Element2
Element5 Element6 Element7" , fill = TRUE , header = FALSE )
#        V1       V2       V3
#1 Element1 Element2         
#2 Element5 Element6 Element7
Run Code Online (Sandbox Code Playgroud)

关于是否设置的注释header = FALSE... read.table尝试自动确定您是否有标题行:

headerTRUE当且仅当第一行包含的字段少于列数时,才设置为if

  • 我只是使用“read.delim()”而不是“read.table()”解决了同样的问题。 (4认同)