dire che abbiamo questi dati:Riassumere (conteggio/frequenza) in base al tipo di trattamento in cui gli individui possono ricevere entrambi i trattamenti
dat<-data.frame(id=c(1,1,2,2,3,4,4,5,6,6),Rx=c(1,2,1,2,1,1,1,2,2,2))
id Rx
1 1 1
2 1 2
3 2 1
4 2 2
5 3 1
6 4 1
7 4 1
8 5 2
9 6 2
10 6 2
dove ID è il soggetto id, e Rx è il trattamento che hanno ricevuto. Quindi, ci sono osservazioni ripetute e il trattamento può o non può essere coerente per soggetto.
Voglio essere in grado di riassumere quanti soggetti ha ricevuto solo Rx 1, ha ricevuto solo Rx 2, e quanti hanno ricevuto Rx 1 e 2.
Preferirei una soluzione dplyr
, ma data.table
e base R
sarebbe va bene anche tu Ho pensato qualcosa di simile:
dat %>%
group_by(id,Rx) %>%
unique() %>%
...something
Il risultato finale dovrebbe essere qualcosa di simile:
Rx Count
1 2
2 2
Both 2
Grazie!
Vuoi che la soluzione si generalizzi a più di due tipi di trattamenti? – davechilders
Il vero problema ha solo due trattamenti quindi non è terribile che si generalizzi, ma come esperienza di apprendimento e per un'applicazione successiva sarebbe apprezzato se generalizzato a> 2 trattamenti. –