我正在尝试读取包含9列和208行的文本文件。
要阅读它我使用:
file=read.table("C:\\Users\\foo.txt",sep="")
> str(file)
'data.frame': 1 obs. of 21 variables: ### this not right
> class(file)
[1] "data.frame"
似乎它错过了一切。最后我收到了这个警告:
incomplete final line found by readTableHeader on 'C:\Users\foo.txt'
答案 0 :(得分:1)
看起来你没有任何行尾字符。鉴于结构化性质,您可以尝试
library(magrittr)
DF <- readLines(filename) %>%
gsub("[)] XXXX", ") \nXXXX", .) %>%
textConnection() %>%
read.table(sep = "")
其中“XXXX”是该行的前四个字符。
答案 1 :(得分:1)
由于文件非常小,我们可以使用readLines()
读取它,然后使用正则表达式处理它,方法是添加适当的换行符以使其为read.table()
做好准备。另请注意,我在comment.char = ""
电话中使用了read.table()
。这样我们就可以成功读取值可能包含#
的那些行。
rl <- readLines("Downloads/coord.txt")
df <- read.table(
text = gsub("(?<=\\S) (?=SCAN)", "\n", rl, perl = TRUE),
comment.char = ""
)
dim(df)
# [1] 208 9
OP的请求未显示数据。