如果某些列在 R 数据框中是分类的,如何找到列最大值?
如果某些列在R数据框中是分类列,要查找列最大值,我们可以按照以下步骤操作-
首先,创建一个数据框。
然后,如果某些列是分类列,则使用plyr包中的numcolwise函数查找列最大值。
示例1
创建数据框
让我们创建一个数据框,如下所示-
Group<-sample(c("I","II","III","IV"),25,replace=TRUE) Num1<-sample(1:50,25) Num2<-sample(1:50,25) df1<-data.frame(Group,Num1,Num2) df1输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
Group Num1 Num2 1 III 43 36 2 I 5 22 3 IV 3 23 4 II 40 40 5 IV 47 33 6 II 12 3 7 II 31 21 8 IV 34 20 9 I 41 44 10 II 7 8 11 II 35 45 12 III 50 25 13 III 19 16 14 III 11 34 15 I 1 28 16 III 21 31 17 IV 9 47 18 III 15 9 19 I 23 11 20 III 45 24 21 I 37 26 22 I 13 32 23 I 27 30 24 II 2 10 25 I 48 12
如果某些列是分类列,则查找列最大值
使用plyr包中的numcolwise函数查找数据框df1中数值列的列最大值-
Group<-sample(c("I","II","III","IV"),25,replace=TRUE) Num1<-sample(1:50,25) Num2<-sample(1:50,25) df1<-data.frame(Group,Num1,Num2) library(plyr) numcolwise(max)(df1)输出结果
Num1 Num2 1 50 47
示例2
创建数据框
让我们创建一个数据框,如下所示-
Categories<-sample(c("First","Second","Third"),25,replace=TRUE) Score<-sample(1:10,25,replace=TRUE) Price<-sample(1:5,25,replace=TRUE) df2<-data.frame(Categories,Score,Price) df2输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
Categories Score Price 1 Third 6 1 2 Second 7 1 3 Second 5 5 4 First 8 3 5 Third 5 2 6 First 9 2 7 Third 6 5 8 First 9 4 9 First 4 1 10 Second 4 5 11 Second 2 1 12 First 9 3 13 Second 4 3 14 First 4 2 15 Third 5 4 16 Third 2 5 17 First 1 4 18 First 2 1 19 Third 2 5 20 Second 1 1 21 Third 7 1 22 Second 4 2 23 First 10 1 24 Third 6 4 25 First 8 4
如果某些列是分类列,则查找列最大值
使用plyr包中的numcolwise函数查找数据框df2−中数值列的列最大值
Categories<-sample(c("First","Second","Third"),25,replace=TRUE) Score<-sample(1:10,25,replace=TRUE) Price<-sample(1:5,25,replace=TRUE) df2<-data.frame(Categories,Score,Price) library(plyr) numcolwise(max)(df2)输出结果
Score Price 1 10 5