检查列表以确定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”)
@C8H10N4O2all.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
函数