R如何有选择地对数据框进行排序?

标签 r sorting dataframe

我在 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/

相关文章:

r - 为什么我不能在用 cbind 创建的数据框中添加数字?

python迭代循环遍历数据框的列

r - 将别名列传递给函数以用于 data.table `by=` 参数

r - 使用 ggplot 将条形图的列与线图的点对齐

r - 另存为网页时如何向 networkD3 可视化添加标题?

c# - 随机化列表,同时确保重复项不连续

python - 查找行之间的绝对差异并与其他行进行比较

r - Excel 日期格式未正确导入到 R 中

java - 对树状图进行排序并没有真正起作用

javascript - 通过在 javascript/jquery 中对 arraylist 进行排序来对 json 进行排序