【发布时间】:2017-11-21 14:19:56
【问题描述】:
我有两个列表。我想为它们每一行的每个公共值分配 1/4。 这是一个例子:
v=c(433,405,451)
v1=c(405,416,388 ,464,392,393,433)
w=c(405,385,384,431)
w1=c(405,478,451,430)
list1=list(v,v1)
list2=list(w,w1)
> list1
[[1]]
[1] 433 405 451
[[2]]
[1] 405 416 388 464 392 393 433
> list2
[[1]]
[1] 405 385 384 431
[[2]]
[1] 405 478 451 430
事实上,我们在两个列表的第一行和第二行看到共同的值是 405,然后我们创建一个向量,如果有一个共同的值,则包含 1/4,如果没有,则为 0: 在这种情况下,输出值应该是这样的:
1/4
1/4
这是因为 list1[1] 和 list2[1] 的共同值是 405。 并且 list1[2] 和 list2[1] 有 405 作为共同值。
我该怎么做?谢谢!
【问题讨论】:
-
请发布一个可重现的例子。
-
我修改了代码!现在更容易了!
-
当您应该发布
dput的结果时,您仍在发布head- 不要让其他人手动输入并重新创建您的列表。 -
@Mark,完成了!
-
也许
length(intersect(list1[[1]], list2[[1]]))就是你要找的东西;如果有共同的元素,这将有一个值> 0。