Нахождение максимального значения с помощью Tidyverse - PullRequest
0 голосов
/ 20 ноября 2018

Я новичок в tidyverse и пытаюсь выучить его.

Я хочу найти максимальное значение столбца в матрице.Как бы я это сделал с базой R:

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

Вот что я пробовал использовать до сих пор:

state.x77 %>% state.name %>% which.max(.,"Illiteracy")


state.x77 %>% select(.,max(state.name))  


state.x77 %>%
group_by(state.name) %>%
summarize(max(.,))

Я действительно не уверен, как соответствовать части неграмотностив, а также.

Спасибо за помощь.

1 Ответ

0 голосов
/ 20 ноября 2018

Ваша первая проблема в том, что state.x77 - это матрица. Тидиверс работает над фреймами данных. Так что вам нужно конвертировать.

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) в конец, если все, что вам нужно, это название штата.

...