返回另一个变量在R中满足条件的数据集的值

时间:2015-11-25 20:45:12

标签: r

我有一个数据框" my_data"而我正在尝试返回评级最高的餐厅的名称。

我可以申请的功能是什么?我试过这个:"my_data$Name(which(max(my_data$rating)))" 那没起效。

谢谢

>  Name         city rating
1    a     new york    4.5
2    b   new jersey    3.0
3    c rohde island    5.0
4    d          xyz    2.0

1 个答案:

答案 0 :(得分:1)

我们可以使用which.max获取max值的位置索引,然后根据该值提取相应的“名称”。

 my_data$Name[which.max(my_data$rating)]
 #[1] "c"

在OP的代码中,有一些错误。

  1. which(max( - max返回最大值。 which将用于根据逻辑索引返回数字位置。即which(mydata$rating == max(mydata$rating)将返回该职位。
  2. my_data$Name( - 如果第一种情况是正确的,那么我们只需要对其进行子集化。为此,我们使用方括号([)括号。通常,(用于函数调用,即mean(x)max(x)等。