我一直在玩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
但是......没有骰子。
答案 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))