如何在 R 資料框中移除列名中的公共字尾?
要從列名中移除公共字尾,我們可以使用 gsub 函式。例如,如果我們有一個數據框 df,其中包含 x1df、x2df、x3df 和 x4df 作為列,那麼我們可以使用以下命令移除所有列名中的 df
colnames(df)<-gsub("df","",colnames(df))
示例
考慮以下資料框
> x1Data<-rnorm(20,25,4) > x2Data<-rnorm(20,25,1.2) > x3Data<-runif(20,2,5) > df1<-data.frame(x1Data,x2Data,x3Data) > df1
輸出
x1Data x2Data x3Data 1 29.26500 26.64124 2.598983 2 21.82170 23.41442 4.134393 3 22.71918 25.21586 4.442823 4 19.88633 25.23487 3.338448 5 20.48989 23.33683 3.829757 6 29.07910 25.54084 3.519393 7 24.28573 23.67258 4.667397 8 27.99849 22.97148 4.100405 9 23.48148 25.36574 2.618030 10 26.39401 23.80191 4.235092 11 29.39867 24.36261 2.782559 12 30.11137 24.62702 4.873779 13 23.56623 25.29017 2.255684 14 24.18464 25.59862 2.247147 15 23.35541 25.38190 4.704027 16 25.02549 25.76776 4.706971 17 18.24187 23.53798 2.411423 18 24.12003 25.27751 2.137409 19 27.58055 24.80092 3.992380 20 23.70832 25.73701 2.577801
從資料框 df1 的列名中移除單詞 Data
示例
> colnames(df1)<-gsub("Data","",colnames(df1)) > df1
輸出
x1 x2 x3 1 29.26500 26.64124 2.598983 2 21.82170 23.41442 4.134393 3 22.71918 25.21586 4.442823 4 19.88633 25.23487 3.338448 5 20.48989 23.33683 3.829757 6 29.07910 25.54084 3.519393 7 24.28573 23.67258 4.667397 8 27.99849 22.97148 4.100405 9 23.48148 25.36574 2.618030 10 26.39401 23.80191 4.235092 11 29.39867 24.36261 2.782559 12 30.11137 24.62702 4.873779 13 23.56623 25.29017 2.255684 14 24.18464 25.59862 2.247147 15 23.35541 25.38190 4.704027 16 25.02549 25.76776 4.706971 17 18.24187 23.53798 2.411423 18 24.12003 25.27751 2.137409 19 27.58055 24.80092 3.992380 20 23.70832 25.73701 2.577801
我們來看看另一個示例
示例
> a_treatment<-rpois(20,5) > b_treatment<-rpois(20,10) > c_treatment<-rpois(20,2) > d_treatment<-rpois(20,8) > df2<-data.frame(a_treatment,b_treatment,c_treatment,d_treatment) > df2
輸出
a_treatment b_treatment c_treatment d_treatment 1 3 18 3 4 2 1 9 1 5 3 3 13 0 5 4 2 14 0 9 5 4 9 1 10 6 6 8 0 8 7 4 7 5 9 8 2 13 1 8 9 5 4 4 7 10 6 11 1 7 11 4 9 3 12 12 7 6 4 10 13 6 20 3 6 14 4 10 1 4 15 13 11 0 12 16 6 11 1 10 17 6 8 1 16 18 4 8 1 14 19 8 11 2 8 20 3 7 0 9
從資料框 df2 的列名中移除單詞 _treatment
示例
> colnames(df2)<-gsub("_treatment","",colnames(df2)) > df2
輸出
a b c d 1 3 18 3 4 2 1 9 1 5 3 3 13 0 5 4 2 14 0 9 5 4 9 1 10 6 6 8 0 8 7 4 7 5 9 8 2 13 1 8 9 5 4 4 7 10 6 11 1 7 11 4 9 3 12 12 7 6 4 10 13 6 20 3 6 14 4 10 1 4 15 13 11 0 12 16 6 11 1 10 17 6 8 1 16 18 4 8 1 14 19 8 11 2 8 20 3 7 0 9
廣告