Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否有更好的方法检查列表中的所有元素是否都已命名?_R - Fatal编程技术网

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