我是新的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"
有人可以帮忙吗?
答案 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()
更紧凑/更容易阅读。