使用 magrittr 重命名列表

Renaming with list with 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

但是...没有骰子。

Magrittr 对这种性质的问题使用了很多别名。这是使用别名 set_names()

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

请参阅 ?extract 了解更多别名

因为 R 中的一切都是函数(大部分),您也可以这样做

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