如何删除重复的行并根据 R 数据框的数字列进行排序?
如果我们在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