4

我一直在玩 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

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

4

2 回答 2

8

Magrittr 为这种性质的问题使用了许多别名。这是使用别名的示例序列set_names()

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

查看?extract更多别名

于 2015-07-27T00:36:14.697 回答
4

因为 R 中的所有内容(大部分)都是一个函数,所以你也可以这样做

data_lists <-
    paste0("q",2011:2015) %>%
    lapply(.,get) %>%
    `names<-`(paste0("q",2011:2015))
于 2015-07-27T00:44:47.300 回答