【发布时间】:2016-05-28 15:25:21
【问题描述】:
我不知道如何在 R 中创建一个按多列排序的函数,其中之一是传递变量。以下是我到目前为止的代码...
sorter <- function(df, col)
{
df <- df[order(df[, col], "ColC", "ColD"), ]
}
sorter(mdf, 2)
其中 mdf = 我的数据框,2 = 我希望排序的列号。
我希望它做的是这样:
ColA ColB ColC ColD
Bob 41 84 95
Jane 41 77 100
Sam 35 84 100
Jeff 41 84 100
然后把它变成这样:
ColA ColB ColC ColD
Sam 35 84 100
Jane 41 77 100
Bob 41 84 95
Jeff 41 84 100
任何帮助将不胜感激!
【问题讨论】:
-
你需要
df[order(df$ColB), ]吗?? -
我希望它是一个函数,其中在示例中我通过第 2 列(“ColB”),但它可能是第 5 列(大概是“ColE”)或其他 -但次要排序将始终是“ColC”和“ColD”。
-
所以要按2列排序?