如果某些列在 R 数据框中是分类的,如何找到列方差?
如果某些列在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输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
Group Num1 Num2 1 II 11 11 2 III 29 45 3 II 2 5 4 IV 3 13 5 II 9 30 6 IV 40 18 7 III 22 20 8 IV 28 37 9 III 50 42 10 I 10 43 11 II 18 38 12 II 14 31 13 IV 1 19 14 IV 24 35 15 II 15 48 16 IV 36 12 17 IV 19 1 18 I 48 50 19 IV 43 7 20 III 26 15 21 I 35 46 22 III 39 34 23 IV 38 28 24 IV 23 8 25 I 32 47
如果某些列是分类列,则查找列方差
使用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(var)(df1)输出结果
Num1 Num2 1 206.0833 242.8933
示例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 First 1 3 2 Third 5 3 3 Second 6 1 4 First 3 3 5 First 2 2 6 Second 2 4 7 Third 6 5 8 Third 7 4 9 Third 6 4 10 Second 7 4 11 First 7 4 12 Second 6 2 13 First 9 3 14 Second 8 5 15 Third 6 4 16 Third 2 5 17 First 10 1 18 First 1 5 19 Second 7 4 20 First 1 2 21 Third 10 3 22 Third 10 5 23 Second 8 3 24 Second 10 2 25 Second 9 1
如果某些列是分类列,则查找列方差
使用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(var)(df2)输出结果
Score Price 1 9.456667 1.71