列表

时间:2015-12-09 11:35:18

标签: r lapply

我有相同长度的矢量列表,我正在寻找一些简单的方法来命名矢量的元素。我可以像这样使用for循环来实现:

myList <- list(c(1,2,3), c(4,5,6), c(7,8,9))
for (i in 1:3){ names(myList[[i]]) <- c("a", "b", "c") }

有没有办法做到这一点,例如用lapply或其他更优雅的方式?

我尝试使用此代码:

lapply(names(myList), function(i) names(myList[[i]])<- c("a", "b", "c"))

但是这个只给了我新的名单,而不是我当前名单的名字。

2 个答案:

答案 0 :(得分:2)

我们可以尝试

lapply(myList, setNames, letters[1:3])

答案 1 :(得分:1)

你可以试试这个:

lapply(myList, function(x) { names(x) <- c('a', 'b', 'c'); x})