如何在R数据帧的每一行中找到唯一值的数量?
为了找到R数据帧的每一行中唯一值的数量,我们可以使用带有长度和唯一函数的apply函数。例如,如果我们有一个称为df的数据帧,其中包含多列,则可以使用命令apply(df,1,function(x)length(unique(x)))找到df每行中唯一值的数量。
例1
考虑以下数据帧-
> x1<-rpois(20,2) > x2<-rpois(20,2) > x3<-rpois(20,2) > x4<-rpois(20,2) > df1<-data.frame(x1,x2,x3,x4) > df1输出结果
x1 x2 x3 x4 1 3 1 1 2 2 3 2 0 2 3 3 2 0 1 4 3 0 3 1 5 3 1 1 2 6 4 4 2 4 7 1 0 2 1 8 0 4 1 2 9 1 4 4 4 10 2 1 2 4 11 1 4 1 2 12 2 5 0 3 13 1 0 3 0 14 2 1 2 2 15 1 0 6 3 16 1 0 5 2 17 3 1 0 3 18 1 3 7 4 19 2 0 1 3 20 1 4 3 0
在df1的每一行中找到唯一值的数量-
> apply(df1,1,function(x) length(unique(x))) [1] 3 3 4 3 3 2 3 4 2 3 3 4 3 2 4 4 3 4 4 4
例2
> y1<-rpois(20,1) > y2<-rpois(20,1) > y3<-rpois(20,1) > y4<-rpois(20,1) > y5<-rpois(20,1) > df2<-data.frame(y1,y2,y3,y4,y5) > df2输出结果
y1 y2 y3 y4 y5 1 2 0 0 0 1 2 0 1 0 1 3 3 1 1 1 1 1 4 4 1 1 1 0 5 3 0 0 0 0 6 0 0 0 1 1 7 0 0 3 0 0 8 1 2 3 1 1 9 1 1 3 0 1 10 2 1 1 1 1 11 0 2 0 2 1 12 2 0 1 0 1 13 0 2 0 0 1 14 0 0 1 3 0 15 1 1 2 1 0 16 1 2 2 2 1 17 0 0 0 1 1 18 0 2 0 0 1 19 1 1 0 1 2 20 2 2 0 2 2
在df2的每一行中找到唯一值的数量-
> apply(df2,1,function(x) length(unique(x)))输出结果
[1] 3 3 1 3 2 2 2 3 3 2 3 3 3 3 3 2 2 3 3 2
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短