R 如何在文本文件中存储长向量?

R 如何在文本文件中存储长向量?,r,R,对于每个项目,我都有一个包含5000个变量的稀疏向量,我是否应该以json格式存储它,如: 1:3,40:2,500:3 或者仅以矢量格式: 1,0,0,0.....3....... 如果是第一种格式,hoe能读入向量吗 编辑: 现在我尝试了第二种方法,文件大小呈指数级增长。所以也许应该用其他的方法来代替 可能有一种更有效的方法来“取消提取”它,但有一种方法可以让您恢复向量: s <- readLines('filename') s [1] "1:3,40:2,500:3" valL

对于每个项目,我都有一个包含5000个变量的稀疏向量,我是否应该以json格式存储它,如:

1:3,40:2,500:3
或者仅以矢量格式:

1,0,0,0.....3.......
如果是第一种格式,hoe能读入向量吗

编辑:


现在我尝试了第二种方法,文件大小呈指数级增长。所以也许应该用其他的方法来代替

可能有一种更有效的方法来“取消提取”它,但有一种方法可以让您恢复向量:

s <- readLines('filename')
s
[1] "1:3,40:2,500:3"

valList <- unlist(strsplit(s, ','))
valList <- sapply(unlist(valList), function(x) strsplit(x, ':'))
as.numeric(unlist(sapply(valList, function(x) {x <- as.numeric(x); rep(x[1], x[2])})))

s您可以以第一种方式存储它,使用readLines()读取它,通过strsplit()或类似的方法进行解析,然后在内存中重建完整的向量。谢谢您的回复!事实上,我的数据文件还包含其他列,有90000多行。在阅读了全部数据后,我尝试应用你的方法,但失败了。你能告诉我更多的细节吗?