如何提取 R 数据框中两个或更多变量的唯一组合?


一种 R 数据框可以有大量分类变量并且这些分类变量形成不同的组合。例如,一个变量的一个值可以关联到另一个变量的两个或更多个值。此外,一个分类变量可以拥有所有唯一的类别。我们可以找到任意多个变量的这种唯一组合,并且可以使用 unique 函数完成此操作。

示例

考虑以下数据框 −

> x1<-rep(c(1,2,3,4,5),times=4)
> x2<-rep(c("A","B","C","D"),each=5)
> x3<-letters[1:20]
> x4<-rep(c(5,10,15,20),times=c(2,8,6,4))
> df<-data.frame(x1,x2,x3,x4)
> df
x1 x2 x3 x4
1 1 A a 5
2 2 A b 5
3 3 A c 10
4 4 A d 10
5 5 A e 10
6 1 B f 10
7 2 B g 10
8 3 B h 10
9 4 B i 10
10 5 B j 10
11 1 C k 15
12 2 C l 15
13 3 C m 15
14 4 C n 15
15 5 C o 15
16 1 D p 15
17 2 D q 20
18 3 D r 20
19 4 D s 20
20 5 D t 20

找到 x2 和 x4 的唯一组合 −

> unique(df[c("x2","x4")])
x2 x4
1 A 5
3 A 10
6 B 10
11 C 15
16 D 15
17 D 20

找到 x1、x3 和 x4 的唯一组合 −

> unique(df[c("x1","x3","x4")])
x1 x3 x4
1 1 a 5
2 2 b 5
3 3 c 10
4 4 d 10
5 5 e 10
6 1 f 10
7 2 g 10
8 3 h 10
9 4 i 10
10 5 j 10
11 1 k 15
12 2 l 15
13 3 m 15
14 4 n 15
15 5 o 15
16 1 p 15
17 2 q 20
18 3 r 20
19 4 s 20
20 5 t 20

找到 x1、x2 和 x4 的唯一组合 −

> unique(df[c("x1","x2","x4")])
x1 x2 x4
1 1 A 5
2 2 A 5
3 3 A 10
4 4 A 10
5 5 A 10
6 1 B 10
7 2 B 10
8 3 B 10
9 4 B 10
10 5 B 10
11 1 C 15
12 2 C 15
13 3 C 15
14 4 C 15
15 5 C 15
16 1 D 15
17 2 D 20
18 3 D 20
19 4 D 20
20 5 D 20

更新于: 2020 年 8 月 11 日

9 千 + 次浏览

立即开启您的 职业生涯

完成课程获得认证

开始学习
广告