在FUN中如何应用索引名的访问?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

是否有一种方法可以在我的lapplication()函数中获取列表索引名?

n = names(mylist)
lapply(mylist, function(list.elem) { cat("What is the name of this list element?\n" })

不知道是否有一种简单的方法来获取自定义函数中的每个元素名。

提问于
用户回答回答于

下面的工作如下:

x <- list(a=11,b=12,c=13) # Changed to list to address concerns in commments
lapply(seq_along(x), function(y, n, i) { paste(n[[i]], y[[i]]) }, y=x, n=names(x))

它产生了以下情况:

[[1]]
[1] "a 11"

[[2]]
[1] "b 12"

[[3]]
[1] "c 13"

结果:

lapply(seq_along(x), function(i) paste(names(x)[[i]], x[[i]]))

用户回答回答于

但是Map(),不需要访问存储列表组件名称的全局变量。

> x <- list(a=11, b=12, c=13)
> Map(function(x, i) paste(i, x), x, names(x))
$a
[1] "a 11"

$b
[1] "b 12"

$c
[1] "c 13

或者,如果你愿意mapply()

> mapply(function(x, i) paste(i, x), x, names(x))
     a      b      c 
"a 11" "b 12" "c 13"

扫码关注云+社区