簡體   English   中英

dplyr :: mutate_at用於更改前綴?

[英]dplyr::mutate_at for changing prefixes?

我有一個帶有三個變量的數據幀(df),其中兩個帶有前綴abc,一個帶有前綴def。

我想使用dplyr()更改以abc開頭的變量的前綴,以使它們的前綴改為new。

我當前的代碼無法正常工作並且我不理解為什么的問題。

謝謝!

起點(df):

df <- data.frame(abc_question1_F1_Q1=c(1,2,1,2),abc_question_F1_Q2=c(1,2,1,2),def_question1_F1_Q3=c(1,2,1,2))

期望的結果(dfgoal):

df <- data.frame(new_question1_F1_Q1=c(1,2,1,2),new_question_F1_Q2=c(1,2,1,2),def_question1_F1_Q3=c(1,2,1,2))

當前代碼:

library(dplyr)
df <- df %>% mutate_at(vars(contains("abc_")), function(x){gsub("abc_", "new_", x)})

如果我們需要使用dplyr

df %>% 
   rename_all(funs(sub("^abc", "new", .)))

或與base R

names(df) <- sub("^abc", "new", names(df))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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