我经常在magrittr管道或其他地方使用R的setNames
函数来动态修复对象的名称:
library(magrittr)
mytable %>% setNames(c("col1", "col2", "col3")) %>% ...[more analysis]
是否有类似的colnames和rownames功能?像setColnames
?
答案 0 :(得分:12)
magrittr
提供了几个"别名" (请参阅??Aliases
),包括set_colnames
(相当于`colnames<-`
)和set_rownames
(相当于`rownames<-`
)。
答案 1 :(得分:5)
它不漂亮,但以下工作:
mytable %>% `colnames<-`(c("col1", "col2", "col3")) %>% ...[more analysis]
这使用了colnames(x) <- foo
形式的赋值实际上正在调用函数`colnames<-`(x, foo)
这一事实。名称周围的反引号是必要的,因为colnames<-
通常不是R中的有效标识符(但在反引号之间)。
所以你不需要任何别名。