Мне интересно, как выполнить crosstable с использованием dplyr
с данными melted
. Мои данные выглядят следующим образом.R - dplyr crosstable расплавленных парных данных
idmen sexe dip14_rec
1 0110008218 1 Uni
2 0110008218 2 Primary-Secondary
3 0110010366 1 Uni
4 0110010366 2 Uni
5 0110011567 1 Primary-Secondary
6 0110011567 2 Primary-Secondary
7 0110012163 2 Primary-Secondary
8 0110012163 1 Primary-Secondary
9 0110016580 2 Uni
10 0110016580 1 No Diploma
То, что я хочу, это кросс-таблица dipl14_rec
по idmen
.
Единственный способ я нашел это это
dta1 = dta %>% filter(sexe == 1)
dta2 = dta %>% filter(sexe == 2)
dta12 = merge(dta1, dta2, by = 'idmen')
table(Men = dta12$dip14_rec.x, Women = dta12$dip14_rec.y)
Который дает мне выход я хочу:
# Women
# Men No Diploma Primary-Secondary Uni
# No Diploma 0 0 1
# Primary-Secondary 0 2 0
# Uni 0 1 1
есть более прямой способ сделать это с помощью dplyr
synthax?
Благодаря
dta = structure(c("0110008218", "0110008218", "0110010366", "0110010366",
"0110011567", "0110011567", "0110012163", "0110012163", "0110016580",
"0110016580", "1", "2", "1", "2", "1", "2", "2", "1", "2", "1",
"Uni", "Primary-Secondary", "Uni", "Uni", "Primary-Secondary",
"Primary-Secondary", "Primary-Secondary", "Primary-Secondary",
"Uni", "No Diploma"), .Dim = c(10L, 3L), .Dimnames = list(NULL,
c("idmen", "sexe", "dip14_rec")))
у вас есть 'matrix'? –
Да, мой dput не работал для корреляции на df. не знаю почему – giacomo