如何在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 x41 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 y51 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
以上是 如何在R数据帧的每一行中找到唯一值的数量? 的全部内容, 来源链接: utcz.com/z/343116.html