Sto tentando di replicare una tabella utilizzata spesso nelle statistiche ufficiali ma finora non ha avuto esito positivo. Dato un dataframe come questo:con diverse variabili in R
d1 <- data.frame(StudentID = c("x1", "x10", "x2",
"x3", "x4", "x5", "x6", "x7", "x8", "x9"),
StudentGender = c('F', 'M', 'F', 'M', 'F', 'M', 'F', 'M', 'M', 'M'),
ExamenYear = c('2007','2007','2007','2008','2008','2008','2008','2009','2009','2009'),
Exam = c('algebra', 'stats', 'bio', 'algebra', 'algebra', 'stats', 'stats', 'algebra', 'bio', 'bio'),
participated = c('no','yes','yes','yes','no','yes','yes','yes','yes','yes'),
passed = c('no','yes','yes','yes','no','yes','yes','yes','no','yes'),
stringsAsFactors = FALSE)
vorrei creare una tabella che mostra l'anno, il numero di tutti gli studenti (tutti) e quelli che sono di sesso femminile, coloro che hanno partecipato e quelli che passavano. Si prega di notare che "di cui" sotto si riferisce a tutti gli studenti.
Un tavolo che ho in mente sarebbe quella faccia:
cbind(All = table(d1$ExamenYear),
participated = table(d1$ExamenYear, d1$participated)[,2],
ofwhichFemale = table(d1$ExamenYear, d1$StudentGender)[,1],
ofwhichpassed = table(d1$ExamenYear, d1$passed)[,2])
Sono sicuro che ci sia un modo migliore per questo genere di cose in R.
Nota: ho visto soluzioni lattice, ma non sto usando questo funzionerà per me in quanto ho bisogno di esportare la tabella in Excel.
Grazie in anticipo
grazie. Molte grazie. Ho sicuramente intenzione di imparare plyr. – user1043144
Buona risposta ma un minuto dopo @csgillespie. –
@Jilber, penso che intendevi * un minuto prima *. Non ci dovrebbe essere "ma" nel tuo commento. – A5C1D2H2I1M1N2O1R2T1