Próbuję replikować tabelę często używaną w oficjalnych statystykach, ale jak dotąd nie udało się jej osiągnąć. Biorąc pod uwagę dataframe jak ten:Tabela częstotliwości z wieloma zmiennymi w 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)
Chciałbym utworzyć tabelę rocznie, liczba wszystkich studentów (wszystkich) i tych, którzy są Kobieta, którzy uczestniczyli i tych, którzy przechodzili. Uwaga "poniżej" odnosi się do wszystkich studentów.
Tabela mam w głowie będzie wyglądać tak:
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])
Jestem pewien, że istnieje lepszy sposób na tego typu rzeczy w R.
Uwaga: Widziałem rozwiązań lateks, ale nie używam tego, to zadziała dla mnie, ponieważ muszę wyeksportować tabelę w Excelu.
góry dzięki
dziękuję. Wielkie dzięki. Zdecydowanie zamierzam się uczyć plyr. – user1043144
Dobra odpowiedź, ale minutę później niż @csgillespie. –
@Jilber, myślę, że chodziło Ci o * minutę wcześniej *. W twoim komentarzu nie powinno być "ale". – A5C1D2H2I1M1N2O1R2T1