r - 如何使用 for 循环将列表中的子值相互比较?

标签 r list for-loop

目前我有一个列表,如下所示。我想开发一个 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,计算匹配项数。

有什么建议吗?

最佳答案

使用 sapplyuniqueN

lst1[sapply(lst1,data.table::uniqueN)==1]
[[1]]
[1] "a" "a"

[[2]]
[1] "p" "p"

关于r - 如何使用 for 循环将列表中的子值相互比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54330632/

相关文章:

r - 使用 dplyr 非标准评估创建多个函数

带有可变参数的 Python "maximum recursion depth exceeded in comparison"。但是,可以很好地处理列表

javascript - FOR循环内的setInterval?

python - 操作系统错误: port/proto not found in for loop

r - Spark ML_pipelines : managing table reading

r - 有没有办法缩写 R 中对象的每个元素?

r - filter() 中的 str_split()

python - 如何检查可迭代对象中是否只有一个值解析为 True?

python - 根据输入对大列表进行切片

c++ - for 循环在第一次迭代后崩溃