Ответ 1
df <- df[order(df$spn), ]
> df[!duplicated(df), ]
spn sex
1 01 f
6 03 m
4 22 m
9 35 f
У меня есть такой кадр данных:
x=c("01","01","01","22","22","03","03","03","35","35")
y=c("f","f","f","m","m","m","m","m","f","f")
df=data.frame(spn=x, sex=y)
выглядит следующим образом:
spn sex
1 01 f
2 01 f
3 01 f
4 22 m
5 22 m
6 03 m
7 03 m
8 03 m
9 35 f
10 35 f
Что я хотел бы сделать, так это отсортировать df $spn и позволить ему появляться только один раз. соответствующий df $sex, а именно:
spn sex
1 01 f
2 03 m
3 22 m
4 35 f
Как я мог это сделать? большое спасибо!
df <- df[order(df$spn), ]
> df[!duplicated(df), ]
spn sex
1 01 f
6 03 m
4 22 m
9 35 f
df2 = df[!duplicated(df), ] # Remove duplicated rows.
df3 = df2[order(df2$spn), ] # Sort by the spn column.
df3
# spn sex
#1 01 f
#6 03 m
#4 22 m
#9 35 f
Используйте уникальный порядок:
df <- unique(df)
df[order(df$spn), ]