是否可以在dplyr或magrittr链中将所有列名设置为上或下?
在下面的示例中,我加载数据,然后使用magrittr管道将其链接到dplyr突变。在第4行中,我使用了tolower函数,但这是为了不同的目的:创建一个带有小写观察的新变量。
mydata <- read.csv('myfile.csv') %>%
mutate(Year = mdy_hms(DATE),
Reference = (REFNUM),
Event = tolower(EVENT)我显然是在寻找类似colnames = tolower的东西,但我知道这是行不通的/不存在的。
我注意到了dplyr rename函数,但这并没有多大帮助。
在magrittr中,colname选项是:
set_colnames而不是基R的colnames<-
set_names而不是基R的names<-
我试过很多次的排列,但是没有骰子。
显然,这在基数r中非常简单。
names(mydata) <- tolower(names(mydata))然而,在进入一个优雅的dplyr/magrittr代码链之前,您必须作为一条笨重的衬垫来完成这一点,这似乎与德普利/磁铁矿的思想不一致。
发布于 2015-03-25 20:02:03
如果我正确理解你的问题,使用magrittr的“复合赋值管道运算符”%<>%可能是一个更简洁的选择。
library("magrittr")
names(iris) %<>% tolower
?`%<>%` # for more发布于 2017-07-03 10:09:59
对于{dplyr},我们可以:
mydata %>% rename_all(tolower)或
mydata %>% rename(across(everything(), tolower))发布于 2015-03-25 18:48:52
iris %>% setNames(tolower(names(.))) %>% head或在非替换形式中等效地使用替换函数:
iris %>% `names<-`(tolower(names(.))) %>% head
iris %>% `colnames<-`(tolower(names(.))) %>% head # if you really want to use `colnames<-`https://stackoverflow.com/questions/29264028
复制相似问题