我想访问作为lapply输入的列表中对象元素的名称。以下是所需行为的人为设想示例,其中我只是粘贴对象的名称及其内容:
x <- list(a=1,b=2)
lapply(x, FUN)
$a
[1] "a1"
$b
[1] "a2"
始终可以在列表名称上使用lapply()
,然后在函数体中使用x[[name_element]]
,但我相信它会使代码不那么清晰。
答案 0 :(得分:0)
mapply
和列表名称:
x <- list(a = 1, b = 2)
y <- mapply(paste0, names(x), c(x), SIMPLIFY = FALSE)
y
$a
[1] "a1"
$b
[1] "b2"
答案 1 :(得分:0)
不是100%你的一般问题是什么,但这是玩具问题的另一种解决方案。
fun <- function(x) {
lapply(x, function(elem) paste0(names(x)[[elem]], x[[elem]]))
}
fun(x)
$a
[1] "a1"
$b
[1] "b2"