sapply中的R逻辑(0)

佩乔·菲洛

为什么

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章