如何在R数据帧中提取两个或多个变量的唯一组合?
R数据帧可以具有大量类别变量,并且这些类别形成不同的组合。例如,变量的一个值可以与另一个变量的两个或多个值链接。同样,一个类别变量可以具有所有唯一类别。我们可以根据需要找到尽可能多的变量,并且可以通过独特的功能来完成。
示例
请看以下数据帧-
> 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