用tidyverse求最大值

时间:2018-11-20 02:16:01

标签: r max tidyverse

我是tidyverse的新手,正在尝试学习它。

我想找到矩阵中一列的最大值。我将如何使用基准R:

function test(a, b, c) {
    console.log("a", a);
    console.log("b", b);
    console.log("c", c);
}

const array = ["Hello", "world", "!!!"];
test(...array);

这是到目前为止我尝试使用tidyverse的内容:

state.name[which.max(state.x77[,"Illiteracy"])]

我真的也不确定如何将文盲部分放入其中。

感谢帮助。

1 个答案:

答案 0 :(得分:2)

您的第一个问题是state.x77是一个矩阵。 tidyverse适用于数据帧。因此,您需要进行转换。

tidyverse不喜欢变量作为行名-最好有自己的列。有一个功能:tibble::rownames_to_column

filter根据您指定的条件选择行,因此获得最大文盲率的一种方法是:

library(tibble)
library(dplyr)

state.x77 %>% 
  as.data.frame() %>% 
  rownames_to_column(var = "Name") %>% 
  filter(Illiteracy == max(Illiteracy))

       Name Population Income Illiteracy Life Exp Murder HS Grad Frost  Area
1 Louisiana       3806   3545        2.8    68.76   13.2    42.2    12 44930

如果只需要州名,则可以在末尾添加%>% select(Name)%>% pull(Name)