如果我们在 R 数据框中有重复的行,那么我们可以通过使用带有数据框对象名称的唯一函数来删除它们。如果我们想根据数字列对具有重复行的数据框进行排序,那么首先应该找到唯一的行,然后可以使用 order 函数进行排序,如下例所示。
考虑以下数据框 -
x1<-rep(c(2,7,1,5),5) x2<-rep(LETTERS[1:4],5) df1<-data.frame(x1,x2) df1输出结果
x1 x2 1 2 A 2 7 B 3 1 C 4 5 D 5 2 A 6 7 B 7 1 C 8 5 D 9 2 A 10 7 B 11 1 C 12 5 D 13 2 A 14 7 B 15 1 C 16 5 D 17 2 A 18 7 B 19 1 C 20 5 D
查找 df1 的唯一行 -
df1<-unique(df1) df1输出结果
x1 x2 1 2 A 2 7 B 3 1 C 4 5 D
基于 x1 订购 df1 -
df1[order(df1$x1),]输出结果
x1 x2 3 1 C 1 2 A 4 5 D 2 7 B
y1<-rep(c(501,278,357,615),5) y2<-rep(c("G1","G2","G3","G4"),5) df2<-data.frame(y1,y2) df2输出结果
y1 y2 1 501 G1 2 278 G2 3 357 G3 4 615 G4 5 501 G1 6 278 G2 7 357 G3 8 615 G4 9 501 G1 10 278 G2 11 357 G3 12 615 G4 13 501 G1 14 278 G2 15 357 G3 16 615 G4 17 501 G1 18 278 G2 19 357 G3 20 615 G4
查找 df2 的唯一行 -
df2<-unique(df2) df2输出结果
y1 y2 1 501 G1 2 278 G2 3 357 G3 4 615 G4
基于 y1 订购 df2 -
df2[order(df2$y1),]输出结果
y1 y2 2 278 G2 3 357 G3 1 501 G1 4 615 G4