8
votes

Crostab avec plusieurs articles

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. XXX

dans SPSS, on peut même demander la ligne, la colonne ou le total des pourcentages.

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.

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?

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.


0 commentaires

7 Réponses :


7
votes

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)|
 +------+-------+


1 commentaires

C'est une fonction puissante; Le seul problème est le manque de contrôle sur la sortie.



0
votes

Vous pouvez utiliser une fonction personnalisée pour utiliser rbind () sur plusieurs tables, quelque chose comme ceci: xxx


1 commentaires

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 ...



1
votes

juste vérifier Hadley Wickham's Remoder le paquet . Afais, vous avez besoin de CAST FONCTION DU PACKE.


0 commentaires

6
votes

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


0 commentaires

1
votes

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


0 commentaires


1
votes

Consultez tablestack () à partir du épidisplay Paquet . Je pense que ce sera peut-être ce que vous cherchez.


0 commentaires