要按指定顺序对R数据框进行排序,可以使用order()
函数来创建一个排序索引,并使用该索引对数据框进行排序。
下面是一个示例代码:
# 创建一个示例数据框
df <- data.frame(Name = c("Alice", "Bob", "Charlie", "David"),
Age = c(25, 30, 35, 40),
Salary = c(50000, 60000, 70000, 80000))
# 指定排序顺序
sort_order <- c("Bob", "David", "Alice", "Charlie")
# 创建排序索引
sort_index <- order(match(df$Name, sort_order))
# 根据排序索引对数据框进行排序
sorted_df <- df[sort_index, ]
# 打印排序后的数据框
print(sorted_df)
运行上述代码将输出按指定顺序排序后的数据框:
Name Age Salary
2 Bob 30 60000
4 David 40 80000
1 Alice 25 50000
3 Charlie 35 70000
在上面的代码中,match()
函数用于获取每个姓名在排序顺序中的位置,然后使用order()
函数对这些位置进行排序。最后,使用排序索引对数据框进行排序,并将结果保存在新的数据框sorted_df
中。
上一篇:按指定顺序对对象属性进行排序
下一篇:按指定顺序对字符串进行排序