Dans SPSS, il est (relativement) facile à créer une languette croisée avec plusieurs variables à l'aide des facteurs (ou des valeurs) comme la tige de la table. Donc, quelque chose comme ce qui suit (composé de données, etc.). Q1, Q2 et Q3 ont chacun un 1, A 2 ou A 3 pour chaque personne. Je viens de les laisser comme des chiffres, mais ils pourraient être des facteurs, ils ne semblaient pas non plus aider à résoudre le problème. dans SPSS, on peut même demander la ligne, la colonne ou le total des pourcentages. P > J'ai essayé Table (), Ftable (), XTAB (), Croststable () de Gmodels et Croststable () decr, et aucun de ceux-ci ne peut gérer (Afaik) plusieurs variables; Ils semblent surtout gérer une variable croisée avec une autre variable, et le 3ème crée des couches. P> existe-t-il un paquet avec de bons exemples de tabulation transversale / table que je pourrais utiliser pour comprendre cela? Je suis sûr que je manque quelque chose de simple, alors j'apprécie que vous ayez souligné ce que j'ai manqué. Je dois peut-être générer chaque ligne comme une liste distincte, puis faire un fichier de données et imprimer le Dataframe? P> Mise à jour: j'ai maintenant découvert CTAB () dans le paquet CATSPEC, qui est également sur la bonne voie. Il est intéressant de noter que R n'a pas d'équivalent constant aux CTABLES dans SPSS, qui est fondamentalement un outil «tabbing» ALA les anciens outils de tableau utilisés pour la recherche en enquête. CTAB () essaie et est une admirable étape de 1ère étape ... mais vous ne pouvez toujours pas faire cette table (ci-dessus) avec elle. p> p>
7 Réponses :
Le package hmisc code> a la fonction
résumé.Formula code> qui peut faire quelque chose le long des lignes souhaitées. Il est très flexible, alors regardez la page d'aide pour des exemples, mais voici une application à votre problème:
Descriptive Statistics (N=20)
+------+-------+
| | |
+------+-------+
|Q1 : 1|25% (5)|
+------+-------+
| 2 |45% (9)|
+------+-------+
| 3 |30% (6)|
+------+-------+
|Q2 : 1|30% (6)|
+------+-------+
| 2 |35% (7)|
+------+-------+
| 3 |35% (7)|
+------+-------+
|Q3 : 1|35% (7)|
+------+-------+
| 2 |30% (6)|
+------+-------+
| 3 |35% (7)|
+------+-------+
C'est une fonction puissante; Le seul problème est le manque de contrôle sur la sortie.
Vous pouvez utiliser une fonction personnalisée pour utiliser rbind () code> sur plusieurs tables, quelque chose comme ceci:
Vrai, mais la sortie laisse quelque chose à désirer. x <-C (1,3,1,3,1,3,1,3,4,4); y <-c (2,4,1,4,2,4,1,4,2,2,4 ); z <-c (3,5,2,5,3,5,2,5,3,5) multitib (x, y, z) [ 1] [ 2] [ 3] [1,] 4 4 2 [2,] 2 3 5 [3,] 2 3 5 Mais c'est un bon début ...
juste vérifier Hadley Wickham's Remoder le paquet .
Afais, vous avez besoin de CAST CODE> FONCTION DU PACKE. P>
Modification d'un exemple précédent
> cross 1 (very Often) 2 (Rarely) 3 (Never) Q1. Likes it 4 10 6 Q2. Recommends it 7 9 4 Q3. Used it 6 4 10
xtabs code> a une interface de formule pouvant prendre des pratiques pour s'habituer, mais cela peut être fait. Si vous avez les données dans un fichier Dataframe
df code> et que vos variables sont appelées
ques code> et
resp code>, vous pouvez utiliser:
> t1 <- rep(c("A","B","C"),5)
> t2 <- rpois(15,4)
> df <- data.frame(ques=t1,resp=t2)
> xtabs(~ques+resp,data=df)
resp
names 2 3 4 5 6 7 9
A 1 0 2 1 0 0 1
B 1 0 0 2 1 1 0
C 1 2 0 1 0 1 0
Consultez tablestack () code> à partir du
épidisplay code> Paquet . Je pense que ce sera peut-être ce que vous cherchez. P>