簡體   English   中英

如何將函數應用於 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM