如果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
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):
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
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):
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
广告