我知道deparse + substitute技巧从作为参数传递给函数的对象中获取名称,但循环中的相同技巧不起作用。
我的代码(仅用于测试):
mylist <- list(first = c("lawyer","janitor"), second = c("engineer","housewife"))
for (element in names(mylist)){
print(deparse(substitute(mylist[[element]])))
}
[1] "mylist[[element]]"
[1] "mylist[[element]]"
有没有办法得到结果?:
first
second
答案 0 :(得分:2)
使用lapply
lapply(mylist, function(x) { print(names(x))} )
# NULL
# NULL
# $first
# NULL
#
# $second
# NULL
根据您的问题使用for
循环
for (element in names(mylist)){
print(element)
}
# [1] "first"
# [1] "second"
答案 1 :(得分:1)
使用&#34;名称&#34;
for (element in names(mylist)){
print(as.name(element))
}