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