web-dev-qa-db-fra.com

R - dplyr Résumer et conserver d'autres colonnes

Je regroupe les données, puis je les résume, mais je voudrais également conserver une autre colonne. Je n'ai pas besoin de faire d'évaluations du contenu de cette colonne car elle sera toujours la même que la colonne group_by. Je peux l'ajouter à la déclaration group_by mais cela ne semble pas "correct". Je veux conserver State.Full.Name après regroupement par State. Merci

TDAAtest <- data.frame(State=sample(state.abb,1000,replace=TRUE))
TDAAtest$State.Full.Name <- state.name[match(TDAAtest$State,state.abb)]


TDAA.states <- TDAAtest %>%
  filter(!is.na(State)) %>%
  group_by(State) %>%
  summarize(n=n()) %>%
  ungroup() %>%
  arrange(State)
17
atclaus

Peut-être avons-nous besoin

TDAAtest %>% 
     filter(!is.na(State)) %>%
     group_by(State) %>% 
     summarise(State.Full.Name = first(State.Full.Name), n = n())

Ou utilisez mutate pour créer la colonne, puis effectuez la distinct

TDAAtest %>% f
     filter(!is.na(State)) %>%
     group_by(State) %>% 
     mutate(n= n()) %>% 
     distinct(State, .keep_all=TRUE)
24
akrun