Ho bisogno di riepilogare i conteggi delle stringhe che sto assegnando ai gruppi, e so che posso farlo in dplyr/tidyr ma mi manca qualcosa.Utilizzo di Tidyr/Dplyr per riepilogare i conteggi di gruppi di stringhe
Esempio set di dati:
Owner = c('bob','julia','cheryl','bob','julia','cheryl')
Day = c('Mon', 'Tue')
Locn = c('house','store','apartment','office','house','shop')
data <- data.frame(Owner, Day, Locn)
che assomiglia a questo:
Owner Day Locn
1 bob Mon house
2 julia Tue store
3 cheryl Mon apartment
4 bob Tue office
5 julia Mon house
6 cheryl Tue shop
voglio gruppo per nome e il giorno, e poi contare su sedi raggruppate in colonne. In questo esempio voglio "casa" e "appartamento" da aggiungere a una colonna intitolata "Casa" e "archivio", "ufficio" e "negozio" da contare in una colonna "Lavoro".
mio codice attuale (che non funziona):
grouped_locn <- data %>%
dplyr::arrange(Owner, Day) %>%
dplyr::group_by(Owner, Day) %>%
dplyr::summarize(Home = which(data$Locn %in% c('house', 'apartment')),
Work = which(data$Locn %in% c("store", "office", "apartment")))
ho incluso solo il mio attuale tentativo di riassumere passo per mostrare come mi è stato si avvicina. Il codice casa e un lavoro restituisce attualmente vettori dei numeri di riga che contengono un elemento del gruppo (ovvero Home = 1 3 5)
mia uscita destinata:
Owner Day Home Work
1 bob Mon 1 0
2 bob Tue 0 1
3 julia Mon 1 0
4 julia Tue 0 1
5 cheryl Mon 1 0
6 cheryl Tue 0 1
Nel set di dati attuale (30k + righe) ci sono più valori di Locn per proprietario al giorno, quindi i conteggi Casa e Lavoro possono essere numeri diversi da 1 e 0 (quindi non booleani).
Molte grazie.
Hnn ... Ero sicuro di averlo provato. L'utilizzo dei dati $ Locn invece di Locn dopo il riepilogo risolve la funzione? Funziona perfettamente, grazie. –
Credo di si. 'Locn' rispetta il raggruppamento,' data $ Locn' no. – lukeA