如何读取R中的文件,其中每行都是可变长度的向量(';ragged';)

如何读取R中的文件,其中每行都是可变长度的向量(';ragged';),r,vector,file-io,readlines,ragged,R,Vector,File Io,Readlines,Ragged,我想读一个包含很多向量的文件,比如你可以在下面看到的 8984 8813 8685 11629 c(8527, 11629) c(8527, 7685, 7822, 11629) c(8527, 7685, 7822, 7137, 7318, 11629) c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 11629) c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 11629) c(8527,

我想读一个包含很多向量的文件,比如你可以在下面看到的

8984
8813
8685
11629
c(8527, 11629)
c(8527, 7685, 7822, 11629)
c(8527, 7685, 7822, 7137, 7318, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 6703, 6909, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 6703, 6909, 5751, 6614, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 6703, 6909, 5751, 6614, 5436, 5493, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 6703, 6909, 5751, 6614, 5436, 5493, 4694, 4998, 11629)
c(8527, 7685, 7822, 7137, 7318, 7063, 7075, 6911, 6946, 6703, 6909, 5751, 6614, 5436, 5493, 4694, 4998, 4211, 4678, 11629)

如何读取每个向量在R中都是特定的文件

如果您的文件确实是这样的(这会很奇怪),请尝试一下

当我在
textConnection(yourtext)
上尝试它时,它可以工作,所以它应该可以在您的文件上工作。您没有告诉我们您希望输出的外观,所以我将其列为一个列表,因为这在这里似乎最合适

txt <- gsub("[c(),]", "", readLines("filename.ext"))
lapply(txt, function(x) scan(text = x, what = integer(), quiet = TRUE))
# [[1]]
# [1] 8984
# 
# [[2]]
# [1] 8813
# 
# [[3]]
# [1] 8685
# 
# [[4]]
# [1] 11629
# 
# [[5]]
# [1]  8527 11629
# 
# [[6]]
# [1]  8527  7685  7822 11629
#
# ... truncated ...

txt到目前为止,您尝试了哪些步骤没有成功?
lappy(readLines(“vectors.dat”),函数(x){eval(parse(text=x))}
将读取一个R表达式文件,解析并计算它们。这将返回一个列表,如果只需要所有值,您可以
取消列出它们。或者
eval(parse(“vectors.dat”))
但这将提供不同的结果(只是最后一行)。@hrbrmstr这行代码看起来像一个安全噩梦,这是一个安全噩梦:-)但是当你有一堆向量要读取(理论上,控制数据)这不应该是一个问题。cran.r-project.org/web/packages/RAppArmor/vignettes/v55i07.pdf。。。