[英]How to apply this function columnwise with across() in tidyverse?
[英]How to apply function to colnames in tidyverse
就像標題一樣:是否有任何函數可以將另一個函數應用於data frame
列名? 我的意思是像forcats::fct_relabel
類的東西, forcats::fct_relabel
一些函數應用於因子標簽。
舉個例子, data.frame
我有一個data.frame
如下:
X<-data.frame(
firababst = c(1,1,1),
secababond = c(2,2,2),
thiababrd = c(3,3,3)
)
X
firababst secababond thiababrd
1 1 2 3
2 1 2 3
3 1 2 3
現在我希望通過應用stringr::str_remove
從列名中刪除abab
。 我的解決方法涉及magrittr::set_colnames
:
X %>%
set_colnames(colnames(.) %>% str_remove('abab'))
first second third
1 1 2 3
2 1 2 3
3 1 2 3
你能提出一些更直接的方法嗎? 理想情況下,類似於:
X %>%
magic_foo(str_remove, 'abab')
你可以做:
X %>%
rename_all(~ str_remove(., "abab"))
first second third
1 1 2 3
2 1 2 3
3 1 2 3
使用base R
,我們可以做到
names(X) <- sub("abab", "", names(X))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.