在R中的特定列上应用微积分后检索行(字符名称)

时间:2014-11-02 13:56:39

标签: r dataframe

我是新的R用户(3.1.1)。 我想计算数据帧中特定列的最小值,然后检索该值是字符类型的索引。 以下是我的数据示例:

   Student.Name  Grade Id.number
1   John         80    123
2   Sarah        89    456
3   Bob          75    789
4   Matt         77    987
5   Ruth         81    765

在这种情况下,我应该在列#34;等级"上应用最小功能。输出应该给我学生的名字。在这种情况下,75是最低等级,因此输出应打印:

[1]" Bob"

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

怎么样:

with(mydata, Student.Name[which.min(Grade)])

或者,如果Grade中有多个值都等于最小值并且您想要全部(不仅是第一个),那么您也可以

with(mydata, Student_Name[Grade == min(Grade)])

(@ DavidArenburg建议我这样做,因为我自己打字了。)

注意:

  • 你的专栏可能被称为Student.Name(没有空格),除非你做了一些聪明/愚蠢的事情
  • 更长篇/更基本的方法是

    mydata$Student.Name[which.min(mydata$Grade)]
    

    mydata[which.min(mydata$Grade), "Student.Name"]
    

with()更紧凑/更容易阅读。