34

データをグループ化して要約していますが、別の列も保持したいと考えています。その列の内容は常に group_by 列と同じであるため、評価を行う必要はありません。group_by ステートメントに追加できますが、それは「正しく」ないようです。State.Full.Nameでグループ化した後に保持したいState。ありがとう

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)
4

3 に答える 3

35

おそらく私たちは必要です

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

または、 を使用mutateして列を作成してから、distinct

TDAAtest %>% f
     filter(!is.na(State)) %>%
     group_by(State) %>% 
     mutate(n= n()) %>% 
     distinct(State, .keep_all=TRUE)
于 2016-08-23T04:05:27.790 に答える