如何在函数中对data.frame进行排序

时间:2013-11-18 07:43:59

标签: r sorting

此代码有效:

df_sorted_1 <- df[with(df,
  do.call("order", list(name, value))
),]

我想根据"name""value"列进行排序。

但是当我尝试为此创建一个函数时:

sort_df <- function (df, sort_vars) {
  df_sorted <- df[with(df,
    do.call("order", sort_vars)
),]

df_sorted <- sort_df(df, list("name", "value"))

我不知道它为什么不起作用。

1 个答案:

答案 0 :(得分:1)

R想要一个name对象,所以下一个代码解决了我的问题:

sort_df <- function (df, sort_vars) {
  df_sorted <- df[with(df,
    do.call("order", lapply(sort_vars, as.name))
),]

df_sorted <- sort_df(df, list("name", "value"))