目前我有一个列表,如下所示。我想开发一个 forloop 遍历列表中的每个项目并比较该列表中的字符。一个项目中的字符永远不会超过两个。
all = [[a,z]],[[a,a]],[[e,r]],[[p,p]].....(更多类似的项目)]
也写成:
[[1]]
[1] "a" "z"
[[2]]
[1] "a" "a"
[[3]]
[1] "e" "r"
[[4]]
[1] "p" p"
我想遍历列表中的每个元素并测试它们是否相同。我想打印匹配的项目数。例如,在这个列表中我想要:
[[2]]
[1] "a" "a"
[[4]]
[1] "p" p"
因为“a”匹配“a”,“p”匹配“p”。我希望 for 循环返回值 2,计算匹配项数。
有什么建议吗?
最佳答案
使用 sapply
和 uniqueN
lst1[sapply(lst1,data.table::uniqueN)==1]
[[1]]
[1] "a" "a"
[[2]]
[1] "p" "p"
关于r - 如何使用 for 循环将列表中的子值相互比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54330632/