如何找到按R中的因子排序的列的最大值?

时间:2018-07-15 00:58:31

标签: r max factors

所以我有一个数据框,其中的列具有以下字母等级:C C A B

我想返回最高分的值A,但是当我运行以下代码时,它会显示错误(在输入数值时不会发生)

max(df$grades, na.rm=T)

注意:我已经用以下代码订购了字母等级:

df$grades <- factor(df$grades)

注意:这是我使用的数据:

class <- c(
  "blah1",
  "blah2",
  "blah4",
  "blah3"
)
grades <- c("C", "C", "A", "B")

df <- data.frame(class,grades)

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试将dplyrmagrittr用于管道:

library(dplyr)
library(magrittr)

然后将数据帧通过管道传递到arrange函数:

> df %>% arrange(grades)
  class grades
1 blah4      A
2 blah3      B
3 blah1      C
4 blah2      C

或者您可以仅选择A(或您喜欢的任何一种):

> df %>% arrange(grades) %>% filter(grades=="A")
  class grades
1 blah4      A

或者甚至只挑选那些年级的班级:

> df %>% arrange(grades) %>% filter(grades=="A") %>% select(class)
  class
1 blah4