2
我有一個矩陣:R:在每個列中選擇一個不同的行高效率地
x = rbind(1:5, 6:10)
x
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
我想選擇不同的行爲基於索引每個列。比如我可能想通過在相應的欄目中選擇行c(1,1,2,1,2)
得到一個新的載體,看起來像
[1] 1 2 8 4 10
。我因此可以做到這一點:
diag(x[c(1,1,2,1,2),])
[1] 1 2 8 4 10
但就是內存低效的,因爲它創建這個矩陣:
x[c(1,1,2,1,2),]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 2 3 4 5
[3,] 6 7 8 9 10
[4,] 1 2 3 4 5
[5,] 6 7 8 9 10
給出一個真正的數據集,並多次重複我關心的一個嚴重的性能問題。我如何根據我的索引有效提取相同的值?
有趣。從來不知道這是可能的。 – zyurnaidi