0
假設我有一個非常大的數據框,有2列和0.5 mil的行。 例如,幾行可能是這樣的:R解析大數據幀 - 速度優化
# Start End
# 89 100
# 93 120
# 95 125
# 101 NA
# 115 NA
# 123 NA
# 124 NA
我想這個數據幀處理,輸出看起來 像這樣的數據幀:
# End Start
# 100 89, 93, 95
# 120 101, 115
# 125 123, 124
什麼是絕對的考慮到有 .5萬行,最快的方法來做到這一點? bgoldst提出了這段令人敬畏的代碼:
# m is a large two column data frame
end <- na.omit(m[,'V2']);
out <- data.frame(End=end,
Start=unname(sapply(split(m[,'V1'],findInterval(m[,'V1'],end [as.character(0:c(length(end)-1))],paste,collapse='.')))
但是這需要一點點時間。
感謝您的幫助!
可能的重複帖子的答案沒有解決時間問題。 bgoldst的答案產生了期望的結果,但在我的電腦上很慢。我想知道是否還有更多的事情可以做,讓這個運行更快。
上可能重複後這些問題的答案並沒有解決問題的時間。 – ALKI
請考慮使用類似於C/C++的東西。 – user1436187
這是'結束< - na.omit(m [,'V2']);'慢? – user1436187