R 获取循环中对象的名称
我知道从作为参数传递给函数的对象中获取名称的deparse+substitute技巧,但是在循环中同样的技巧是无效的 我的代码(仅用于测试):R 获取循环中对象的名称,r,R,我知道从作为参数传递给函数的对象中获取名称的deparse+substitute技巧,但是在循环中同样的技巧是无效的 我的代码(仅用于测试): 使用lappy lapply(mylist, function(x) { print(names(x))} ) # NULL # NULL # $first # NULL # # $second # NULL 根据您的问题使用进行循环 for (element in names(mylist)){ print(element) } # [1] "
使用
lappy
lapply(mylist, function(x) { print(names(x))} )
# NULL
# NULL
# $first
# NULL
#
# $second
# NULL
根据您的问题使用进行循环
for (element in names(mylist)){
print(element)
}
# [1] "first"
# [1] "second"
使用“名称”
在您的示例中,您可以只使用print(element)
。names(mylist)
有什么问题吗?lapply做的事情稍有不同,因为它将names
函数应用于每个列表元素,返回NULL,因为它们在示例中没有名称。
lapply(mylist, function(x) { print(names(x))} )
# NULL
# NULL
# $first
# NULL
#
# $second
# NULL
for (element in names(mylist)){
print(element)
}
# [1] "first"
# [1] "second"
for (element in names(mylist)){
print(as.name(element))
}