如何将不同的函数应用于对 R 数据框中的值进行分组?
要将不同的函数应用于R数据框中的分组值,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,使用ifelse函数将不同的函数应用于分组值。
创建数据框
让我们创建一个数据框,如下所示-
x<-sample(1:50,25) Grp<-sample(LETTERS[1:4],25,replace=TRUE) df<-data.frame(x,Grp) df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
x Grp 1 28 B 2 50 B 3 42 D 4 7 A 5 37 D 6 15 D 7 13 B 8 20 C 9 33 B 10 23 C 11 41 A 12 36 B 13 1 A 14 29 C 15 46 D 16 19 C 17 47 D 18 31 A 19 30 A 20 48 A 21 27 B 22 22 D 23 32 C 24 9 A 25 39 D
将不同的函数应用于分组值
使用ifelse函数将不同的函数应用于数据框df的Grp列中的分组值-
x<-sample(1:50,25) Grp<-sample(LETTERS[1:4],25,replace=TRUE) df<-data.frame(x,Grp) df$New_x<- ifelse(df$Grp=="A",2+x,ifelse(df$Grp=="B",0.5*x,ifelse(df$Grp=="C",2*x,ifelse(df$Gr p=="D",x-1,NA)))) df
输出
x Grp New_x 1 28 B 14.0 2 50 B 25.0 3 42 D 41.0 4 7 A 9.0 5 37 D 36.0 6 15 D 14.0 7 13 B 6.5 8 20 C 40.0 9 33 B 16.5 10 23 C 46.0 11 41 A 43.0 12 36 B 18.0 13 1 A 3.0 14 29 C 58.0 15 46 D 45.0 16 19 C 38.0 17 47 D 46.0 18 31 A 33.0 19 30 A 32.0 20 48 A 50.0 21 27 B 13.5 22 22 D 21.0 23 32 C 64.0 24 9 A 11.0 25 39 D 38.0