用magrittr重命名列表

时间:2015-07-27 00:23:05

标签: r magrittr

我一直在玩magrittr,我非常喜欢结果代码。它很干净,可以真正节省打字。

如何在magrittr中重命名列表元素:

在典型的基础R:

data_lists <- paste0("q",2011:2015)
data_lists <- lapply(data_lists,get)
names(data_lists) <- paste0("q",2011:2015)

在magrittr,我想:

data_lists <- 
   paste0("q",2011:2015) %>%
   lapply(.,get) %>%
   names(.) %<>% paste0("q",2011:2015) # this is wrong

但是......没有骰子。

2 个答案:

答案 0 :(得分:6)

Magrittr使用了许多别名来解决这种问题。以下是使用别名set_names()

的示例序列
data_lists <- 
   paste0("q",2011:2015) %>%
   lapply(.,get) %>%
   set_names(paste0("q",2011:2015))

有关更多别名,请参阅?extract

答案 1 :(得分:3)

因为R中的所有内容都是函数(主要是),所以你也可以

data_lists <-
    paste0("q",2011:2015) %>%
    lapply(.,get) %>%
    `names<-`(paste0("q",2011:2015))