首页 > 解决方案 > 如何找到按R中的因子排序的列的最大值?

问题描述

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

我想返回最高分的值 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)

任何帮助将不胜感激!

标签: rmaxfactors

解决方案


尝试dplyr使用magrittr管道:

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

推荐阅读