如果 R 数据框中的某些列属于分类,如何找到列最小值?
r programmingserver side programmingprogramming更新于 2025/4/8 7:22:17
如果 R 数据框中的某些列属于分类,要找到列最小值,我们可以按照以下步骤操作 −
首先,创建一个数据框。
然后,使用 plyr 包中的 numcolwise 函数找到列最小值,如果某些列属于分类。
示例
创建数据框
让我们创建一个数据框,如下所示 −
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 IV 45 19 2 III 37 5 3 IV 21 27 4 III 16 26 5 III 34 48 6 I 3 11 7 II 49 10 8 I 24 8 9 I 26 25 10 II 20 49 11 I 29 29 12 II 8 12 13 I 7 31 14 III 44 38 15 III 2 20 16 III 23 37 17 I 15 15 18 I 42 45 19 I 11 47 20 IV 6 40 21 II 41 3 22 II 48 14 23 III 31 24 24 IV 13 17 25 II 5 41
如果某些列是分类的,则查找列最小值
使用 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(min)(df1)
输出
Num1 Num2 1 2 3
示例 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 8 1 2 First 8 1 3 Second 8 3 4 Second 8 2 5 Third 1 1 6 Second 1 1 7 First 5 3 8 Third 5 3 9 First 4 1 10 Second 6 3 11 Third 6 3 12 Third 2 4 13 Second 7 4 14 First 5 3 15 Second 1 4 16 Third 1 5 17 Third 7 4 18 Third 10 4 19 Third 1 3 20 Second 4 3 21 Second 3 1 22 Second 10 4 23 First 3 5 24 First 1 4 25 Second 6 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(min)(df2)
输出
Score Price 1 1 1