J'ai une trame de données et je souhaite générer une table de contingence à deux voies à partir de deux des colonnes. Ils ont tous les deux des valeurs "Trop peu", "À propos de" ou "Trop".Table de contingence à deux voies dans R
je tape
df %>%
filter(!is.na(col1)) %>%
group_by(col1) %>%
summarise(count = n())
pour les deux séparément et obtenir quelque chose comme ceci:
col1 count
<fctr> <int>
Too Little 19259
About Right 9539
Too Much 2816
Ce que je voudrais réaliser est la suivante:
Too Little About Right Too Much Total
col1 19259 9539 2816 31614
col2 20619 9374 2262 32255
Total 39878 18913 5078 63869
I ai essayé d'utiliser la fonction de table
addmargins(table(df$col1, df$col2))
Mais le résultat est pas ce que je veux
Too Little About Right Too Much Sum
Too Little 13770 4424 740 18934
About Right 4901 3706 700 9307
Too Much 1250 800 679 2729
Sum 19921 8930 2119 30970
donc ce qui est l'attend eteint vous voulez – Wen
Salut bienvenue à cela, il est important de poser des questions dans un [mimimal mais complet] (https://stackoverflow.com/help/ mcve) forme. Essayez aussi toujours d'inclure quelques exemples de données (pour l'instant, personne ne peut voir 'df'), peut-être que quelques lignes suffisent pour un exemple minimal – Nate