我有一个文本文件,数据用空格分隔。白色空间的数量是变化的,我不能使用read.table。你有建议吗(ps我在Windows上)。
文件中的两行:
13001 200901010200 11.49 -23.01 -999.00
46001 200904300200 56.30 -148.00 -999.00
答案 0 :(得分:7)
即使进行了编辑,问题仍然不明确。你的例子适合我。
Lines <-
"13001 200901010200 11.49 -23.01 -999.00
46001 200904300200 56.30 -148.00 -999.00"
con <- textConnection(Lines)
x <- read.table(con)
close(con)
x
# V1 V2 V3 V4 V5
# 1 13001 200901010200 11.49 -23.01 -999
# 2 46001 200904300200 56.30 -148.00 -999
sep=""
的默认值有效,因为(如?read.table
中所述):
如果'sep =“”'(默认值为 'read.table')分隔符为'白色 空间',即一个或多个空格, 标签,换行符或回车。
答案 1 :(得分:4)
使用sep=""
在逻辑上等同于任何数量的空白(在正则表达式中,"\s+"
)。
要使用read.delim()
或read.table()
阅读您的数据,请使用:
read.delim(fileName, sep="")
这也会删除前导空格(在第一列之前)。