0
對於每個項目,我有一個稀疏向量,包括5000個變量,我應該把它存放在有點像JSON格式的:如何在文本文件中存儲長矢量?
1:3,40:2,500:3
或只是在一個矢量格式:
1,0,0,0.....3.......
如果第一種格式,鋤頭可以讀取它作爲一個向量?
編輯:
現在,我已經嘗試了第二種方法,併成倍文件大小增加。所以也許應該使用其他方式。
對於每個項目,我有一個稀疏向量,包括5000個變量,我應該把它存放在有點像JSON格式的:如何在文本文件中存儲長矢量?
1:3,40:2,500:3
或只是在一個矢量格式:
1,0,0,0.....3.......
如果第一種格式,鋤頭可以讀取它作爲一個向量?
編輯:
現在,我已經嘗試了第二種方法,併成倍文件大小增加。所以也許應該使用其他方式。
有可能是一種更有效的方式,以「未提取」,但這裏是讓你恢復矢量退一組的方式:
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])})))
感謝您的回覆!事實上,我的數據文件還包含另一列,並且有超過90,000行。我試圖在讀完整個數據後應用你的方法,但失敗了。你能否給我更多的細節? – southdoor
您可以將它的第一種方式,使用readlines方法()閱讀它,通過strsplit()或一些這樣的事情來解析,並在內存中重建你的完整向量。 – Gopala