为什么
sapply(c(TRUE,FALSE,逻辑(0)),长度)
返回
[1] 1 1
换句话说,怎么会忽略逻辑(0)?
@PenelopeHopHop说的是真的,但是她没有解释错误。从c()
函数logical(0)
合并它的参数开始出现错误,由于为空,因此不会合并,因此长度为2的sappply的输入因此输出的长度为2。
c(TRUE, FALSE, logical(0))
#> [1] TRUE FALSE
替换c()
为可以实现的目标list()
list(TRUE, FALSE, logical(0))
#> [[1]]
#> [1] TRUE
#>
#> [[2]]
#> [1] FALSE
#>
#> [[3]]
#> logical(0)
sapply(list(TRUE, FALSE, logical(0)), length)
#> [1] 1 1 0
而不是像使用sapply(..., length)
用途lengths
功能那样实现您要实现的目标。
lengths(list(TRUE, FALSE, logical(0)))
#> [1] 1 1 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句