0
我有兩個變量,一個是矩陣列表,另一個是矢量列表。從矩陣列表中選擇與列表中的元素匹配的多個元素
人:load("https://dl.dropboxusercontent.com/u/22681355/a.Rdata")
墊:load("https://dl.dropboxusercontent.com/u/22681355/b.Rdata")
我想從[[1]]
去[[99]]
沿元素people
和mat
選擇行,其中的mat
比賽people
第一列返回第二列的mat
。
我想:
lapply(seq_along(people), function(i) mat[mat[,1,i] ==
people[i], 2, i])
然而,這不能處理的事實,有時只有1匹配項,而在其他情況下,可以有2名或三個匹配的條目。
有人可以幫助修改我的代碼嗎?
小例子:
人:
[[1]]
[1] 34 56 7
[[2]]
[1] 13 93
[[3]]
[1] 42
墊
,,1
[,1] [,2] [,3]
[1,] 34 **2** 1
[2,] 56 **2** 1
[3,] 7 **2** 2
,,2
[,1] [,2] [,3]
[1,] 9 2 1
[2,] 13 **2** 1
[3,] 71 2 2
,,3
[,1] [,2] [,3]
[1,] 90 2 1
[2,] 1 2 1
[3,] 42 **2** 2
輸出將是:
我無法使用您的鏈接訪問您的數據 – user20650
請輸入您的數據的一個_small_樣本。 – Henrik
@ user20650你的意思是你不能在R中打開它,或者鏈接被破壞了?鏈接在這裏工作。 – user1723765