查找 R 数据框中每列唯一值的频率。
要查找 R 数据框中每列唯一值的频率,我们可以使用 apply 函数结合 table 函数。
例如,如果我们有一个名为 df 的数据框,那么我们可以使用以下命令查找 df 中每列唯一值的频率:
apply(df,2,table)
示例 1
以下代码片段创建了一个示例数据框:
x1<-sample(c(2,5,7,4),20,replace=TRUE) x2<-sample(c(2,5,7,4),20,replace=TRUE) x3<-sample(c(2,5,7,4),20,replace=TRUE) df1<-data.frame(x1,x2,x3) df1
创建了以下数据框
x1 x2 x3 1 2 5 7 2 5 4 5 3 5 5 5 4 5 4 4 5 5 5 2 6 5 7 7 7 7 7 2 8 2 2 2 9 4 4 7 10 2 5 5 11 2 4 4 12 5 7 5 13 2 5 4 14 2 5 4 15 5 5 7 16 5 5 4 17 5 7 5 18 2 4 4 19 7 7 5 20 5 5 7
要在上面创建的数据框 df1 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:
x1<-sample(c(2,5,7,4),20,replace=TRUE) x2<-sample(c(2,5,7,4),20,replace=TRUE) x3<-sample(c(2,5,7,4),20,replace=TRUE) df1<-data.frame(x1,x2,x3) apply(df1,2,table)
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
x1 x2 x3 2 7 1 3 4 1 5 6 5 10 9 6 7 2 5 5
示例 2
以下代码片段创建了一个示例数据框:
y1<-rpois(20,1) y2<-rpois(20,1) y3<-rpois(20,1) df2<-data.frame(y1,y2,y3) df2
创建了以下数据框
y1 y2 y3 1 3 1 1 2 4 0 1 3 1 2 4 4 0 3 1 5 2 0 1 6 2 0 0 7 2 1 1 8 3 2 0 9 2 0 0 10 1 0 2 11 1 3 0 12 2 1 0 13 1 1 2 14 0 3 2 15 0 2 2 16 0 0 1 17 2 1 2 18 4 2 1 19 0 1 4 20 0 0 3
要在上面创建的数据框 df2 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:
y1<-rpois(20,1) y2<-rpois(20,1) y3<-rpois(20,1) df2<-data.frame(y1,y2,y3) apply(df2,2,table)
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
$y1 0 1 2 3 4 6 4 6 2 2 $y2 0 1 2 3 7 6 4 3 $y3 0 1 2 3 4 5 7 5 1 2
示例 3
以下代码片段创建了一个示例数据框:
z1<-sample(0:4,20,replace=TRUE) z2<-sample(0:4,20,replace=TRUE) z3<-sample(0:4,20,replace=TRUE) df3<-data.frame(z1,z2,z3) df3
创建了以下数据框
z1 z2 z3 1 2 2 1 2 4 1 3 3 1 3 4 4 4 4 1 5 0 0 3 6 0 4 3 7 3 1 3 8 4 1 1 9 3 4 3 10 3 4 1 11 4 4 0 12 2 4 0 13 3 1 4 14 3 3 1 15 4 3 1 16 0 2 3 17 3 3 2 18 3 4 2 19 0 3 0 20 4 4 4
要在上面创建的数据框 df3 中查找每列唯一值的频率,请将以下代码添加到上述代码片段中:
z1<-sample(0:4,20,replace=TRUE) z2<-sample(0:4,20,replace=TRUE) z3<-sample(0:4,20,replace=TRUE) df3<-data.frame(z1,z2,z3) apply(df3,2,table)
输出
如果您将上面给出的所有代码片段作为一个程序执行,它将生成以下输出:
z1 z2 z3 0 4 1 3 1 1 4 6 2 2 2 2 3 7 5 6 4 6 8 3
广告