检查列表以确定R中的所有值都相同

检查列表以确定R中的所有值都相同,r,R,我的清单如下 l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "c")) 我想使用apply族函数检查它们是否包含相同的值 我想要下面的答案 TRUE, TRUE, TRUE 如果确实要使用apply系列,可以执行以下操作: l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "c")) sapply(l, function(x) all.equal(x, l[[1

我的清单如下

l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "c"))
我想使用apply族函数检查它们是否包含相同的值

我想要下面的答案

TRUE, TRUE, TRUE

如果确实要使用
apply
系列,可以执行以下操作:

l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "c"))
sapply(l, function(x) all.equal(x, l[[1]]))
# returns [1] TRUE TRUE TRUE
l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "x"))
sapply(l, function(x) all.equal(x, l[[1]]))
# returns [1] "TRUE" "TRUE" "1 string mismatch"

如果确实要使用
apply
系列,可以执行以下操作:

l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "c"))
sapply(l, function(x) all.equal(x, l[[1]]))
# returns [1] TRUE TRUE TRUE
l = list(c("a", "b", "c"), c("a", "b", "c"), c("a", "b", "x"))
sapply(l, function(x) all.equal(x, l[[1]]))
# returns [1] "TRUE" "TRUE" "1 string mismatch"

我们可以使用重复的

duplicated(l)|duplicated(l, fromLast=TRUE)
#[1] TRUE TRUE TRUE
如果我们需要比较
list
元素的所有组合,
combn
是另一种方法

combn(seq_along(l), 2, FUN= function(x) all(l[[x[1]]] == l[[x[2]]]))
#[1] TRUE TRUE TRUE

我们可以使用重复的

duplicated(l)|duplicated(l, fromLast=TRUE)
#[1] TRUE TRUE TRUE
如果我们需要比较
list
元素的所有组合,
combn
是另一种方法

combn(seq_along(l), 2, FUN= function(x) all(l[[x[1]]] == l[[x[2]]]))
#[1] TRUE TRUE TRUE

回答得好,试图找出为什么
do.call(all.equal,l)
l=list(c(“a”、“b”、“c”)、c(“a”、“b”、“c”)、c(“a”、“b”、“x”))返回
all.equal
返回单个TRUE。在本例中,它似乎也在比较所有元素,并返回一个TRUE。进一步调查后,您可以将其中一个列表元素更改为
l[[2]]@C8H10N4O2,但情况似乎并非如此
l1回答得很好,试图找出为什么
do.call(all.equal,l)
l=list(c(“a”、“b”、“c”)、c(“a”、“b”、“c”)、c(“a”、“b”、“x”)
@C8H10N4O2
all.equal
返回单个TRUE。在本例中,它似乎也在比较所有元素,并返回一个TRUE。进一步调查后,您可以将其中一个列表元素更改为
l[[2]]@C8H10N4O2,但情况似乎并非如此<代码>l1有点不清楚TRUE的值指的是什么。值是否为:“此项与其他项相同”?或者:“此项目至少有一个其他匹配项”?或您可能希望发布更多示例和预期结果。
列表(1,1,1,2)
列表(1,1,2,2)
的期望值是什么,例如?有点不清楚TRUE的值指的是什么。值是否为:“此项与其他项相同”?或者:“此项目至少有一个其他匹配项”?或您可能希望发布更多示例和预期结果。
list(1,1,1,2)
list(1,1,2,2)
的期望值是多少,例如?@akrun的答案更好,这一个只使用每个OP@akrun的答案更好,这个函数只在每个操作中使用一个
apply
函数