我是R.的新手。我正在尝试读取以空格分隔的“CSV”文件。该文件没有标题。看起来像这样
Element1 Element2
Element5 Element6 Element7
我试图像这样阅读:
> 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
为什么它会在第一行中出现14个元素?如何导入此文件?
答案 0 :(得分:72)
read.table
想要返回data.frame
,每列必须包含一个元素。因此,R期望每行具有相同数量的元素,并且默认情况下不填充空格。尝试read.table("/PathTo/file.csv" , fill = TRUE )
填写空白。
e.g。
read.table( text= "Element1 Element2
Element5 Element6 Element7" , fill = TRUE , header = FALSE )
# V1 V2 V3
#1 Element1 Element2
#2 Element5 Element6 Element7
关于是否设置header = FALSE
... read.table
的说明会尝试自动确定您是否有标题行:
时
header
设置为TRUE
当且仅当第一行包含的字段少于列数
答案 1 :(得分:1)
要阅读字符,请尝试
scan("/PathTo/file.csv", "")
如果您正在阅读数值,请使用
scan("/PathTo/file.csv")
默认情况下, scan
将使用空格作为分隔符。第二个arg的类型定义了“读取什么”(默认为double())。