R 是否有更好的方法检查列表中的所有元素是否都已命名?
我想检查列表中的所有元素是否都已命名。我提出了这个解决方案,但我想知道是否有更优雅的方法来检查这个问题R 是否有更好的方法检查列表中的所有元素是否都已命名?,r,R,我想检查列表中的所有元素是否都已命名。我提出了这个解决方案,但我想知道是否有更优雅的方法来检查这个问题 x我们可以创建一个函数来检查names属性是NULL还是(|)有空(“”)名称,否定(!) 或使用allNames f2 <- function(lst1) is.list(lst1) && !("" %in% allNames(lst1)) 我不确定以下基本R代码是否适用于您的一般情况,但它似乎适用于您的帖子中的情况 定义一个函数f来检查名称 f
x我们可以创建一个函数来检查names
属性是NULL
还是(|
)有空(“”
)名称,否定(!
)
或使用allNames
f2 <- function(lst1) is.list(lst1) && !("" %in% allNames(lst1))
我不确定以下基本R代码是否适用于您的一般情况,但它似乎适用于您的帖子中的情况
定义一个函数f
来检查名称
f <- function(lst) length(lst) == sum(names(lst) != "",na.rm = TRUE)
如果名称为NA
:y@Jan,则此选项无效。谢谢。看我的照片!您的解决方案不仅能够捕获NAs,而且速度更快。
f2 <- function(lst1) is.list(lst1) && !("" %in% allNames(lst1))
f2(x)
#[1] TRUE
f2(y)
#[1] FALSE
f2(z)
#[1] FALSE
f <- function(lst) length(lst) == sum(names(lst) != "",na.rm = TRUE)
> f(x)
[1] TRUE
> f(y)
[1] FALSE
> f(z)
[1] FALSE