R:尝试在列表中的数据帧中排序数据

时间:2015-02-03 11:38:35

标签: r

我试图在数据框中对数据进行排序,数据框以列表

组织

对不起,我无法向您显示完整的数据,但数据看起来像这样(这只是一个例子)

姓名/ EducationStatus / CurrentSalary

我尝试做的首先是根据他们的教育状况对每个人进行分类。

salaryRank <- function(outcome, rank){
    dataFile <- read.csv("salary.csv", colClasses = "character")

    if(outcome == "CurrentSalary"){
        dataFile$CurrentSalary <- as.numeric(dataFile$CurrentSalary)
        dataFile <- split(dataFile, dataFile$EducationStatus)
    }
}

从此我检索

本科 &lt; - 例如)与Emily,John,Michael和Mark

的数据框架

高中毕业 &lt; - 例如)与安东尼,汤姆和伊丽莎白的数据框架

主 &lt; - 例如)Laura,David和Jennifer的数据框

现在,我想按顺序排列他们的工资。因此,如果我在排名部分输入3,它最终会在每个数据框(学士,高中毕业和硕士)中找到第三名的人。

但是,我无法找到任何可能用于执行此操作的选项。我尝试了每种x-apply方法,但我无法访问“Education.Status”部分。有点像输出$$ Education.Status没有锻炼......

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用功能订单()订购数据框,如下所示:

df_ordered <- df[order(df$CurrentSalary, decreasing=TRUE),] 

...然后让第三行使用它:

df_ordered[3,]