我在 R 中有以下示例数据框。
item index ptr
A 1 0.40
B 2 NA
C 3 0.30
D 4 0.35
E 5 0.44
F 6 NA
它已经根据列 =
index
排序.现在,我想按 ptr
列对其进行排序但是通过将行的位置留在 ptr
= NA
完整。所以我期待的输出是: item index ptr
C 3 0.30
B 2 NA
D 4 0.35
A 1 0.40
E 5 0.44
F 6 NA
正规
df = df[order(ptr),]
不起作用。有任何想法吗?非常感谢。
最佳答案
尝试这个:
> df
item index ptr
1 A 1 0.40
2 B 2 NA
3 C 3 0.30
4 D 4 0.35
5 E 5 0.44
6 F 6 NA
> df[!is.na(df$ptr), ] <- df[order(df$ptr, na.last = NA), ]
> df
item index ptr
1 C 3 0.30
2 B 2 NA
3 D 4 0.35
4 A 1 0.40
5 E 5 0.44
6 F 6 NA
关于R如何有选择地对数据框进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303401/