Pivoter la sortie de la table en R?
Je suis en train d'écrire un rapport qui nécessite la génération d'un certain nombre de tableaux croisés dynamiques dans Excel. J'aimerais penser qu'il existe un moyen de le faire dans la R de sorte que je peux éviter d'Excel. Je voudrais de sortie comme la capture d'écran ci-dessous (professeur des noms expurgée). Aussi loin que je peux dire, je pourrais utiliser le remodeler paquet pour calculer les valeurs d'agrégation, mais j'avais besoin de faire un certain nombre de fois et en quelque sorte d'obtenir toutes les données dans le bon ordre. À ce point, je dois le faire dans Excel. Quelqu'un aurait-il des suggestions ou des recommandations de paquets? Merci!!!!
(EDIT)
Les données démarre comme une liste d'élèves, de l'enseignant, de l'école, et de la croissance. Ces données sont ensuite agrégées pour obtenir une liste des enseignants avec leur classe moyenne de la croissance. Veuillez noter que les enseignants sont ensuite regroupés par l'école. Le plus grand problème, je prévois de le faire avec R que, désormais, est de savoir comment vous obtenez le sous-total et le nombre total des lignes (BSA1 Total, Total, etc) car ils ne sont pas le même type d'observation que les autres? Vous le faire manuellement à calculer eux et essayer de les faire dans le bon ordre afin qu'ils apparaissent au bas de ce groupe?
source d'informationauteur Jeff Erickson
Vous devez vous connecter pour publier un commentaire.
Voici un swag au calcul de bits:
Je n'ai pas abordé formatage de sortie, seulement le calcul. Les données qui en résultent image devrait ressembler à ceci:
Cet exemple utilise la reshape2 package pour gérer les sous-totaux.
Je pense que R est le bon outil pour le travail ici. Je peux tout à fait comprendre de ne pas être sûr de savoir comment obtenir commencé sur cette analyse. Je suis venu à R à partir d'Excel il ya quelques années et il peut être difficile de grok au premier abord. Permettez-moi de souligner quatre conseils pro pour vous aider à obtenir de meilleures réponses dans le Débordement de Pile:
1) fournir des données, même si simulé: vous pouvez le voir, j'ai simulé certaines données au début de ma réponse. Si vous aviez à condition que la simulation, il aurait un) m'a sauvé du temps b) vous obtenu une réponse qui a utilisé votre propre structure de données, pas un seul, j'ai rêvé, et c) d'autres personnes ont répondu. J'ai souvent ignorer les questions avec pas de données parce que j'ai grandi fatigué de devinettes sur les données étant dit, ma réponse aspiré parce que j'ai deviné tort.
2) Poser une question claire. "Comment dois-je faire mon travail" n'est pas une seule question claire. "Comment dois-je prendre cet exemple, les données et créer des sous-totaux dans l'agrégation comme cet exemple de sortie" est une simple question spécifique.
3) continuez à demander! Nous avons tous mieux avec la pratique. Vous essayez de le faire dans la R et de moins en Excel ainsi vous êtes clairement au dessus de la moyenne de l'intelligence. Gardez à l'aide de R et de garder à poser des questions. Ça va être plus facile dans le temps.
4) soyez prudent avec vos mots lorsque vous décrivez les choses. Vous dites dans votre édité question, vous avez une "liste" de choses. Une liste dans R est une structure de données spécifique. Je me méfie vous avez une trame de données et utilisez le terme "liste" dans un sens générique. Cela peut faire pour une certaine confusion. Il montre aussi pourquoi vous voulez fournir à vos propres données.
À l'aide de JD Long de la simulation des données, et l'ajout de la carte sd et compte:
Ci-dessous sont plusieurs façons de générer ce à l'aide de la relativement nouvelle pivottabler paquet.
Divulgation: je suis l'auteur du package.
Pour plus d'informations, voir la page package sur CRAN et les différents paquet de vignettes disponibles sur cette page.
Des Données de l'échantillon (le même que ci-dessus)
Rapide tableau croisé dynamique de sortie de la console en tant que texte brut
Sortie De La Console:
Rapide tableau croisé dynamique comme la sortie d'un widget html
Widget HTML de Sortie:
Génération de tableau croisé dynamique à l'aide de plus de commentaires de la syntaxe
Ce qui a plus d'options, comme par exemple renommer totaux.
Widget HTML de Sortie:
Désolé pour l'autopromotion mais jetez un oeil à mon colis expss.
Code pour générer la sortie ci-dessous:
Code ci-dessus donne l'objet hérité de données.cadre qui peut être utilisé avec la norme R opérations (. avec
[
et etc.). Mais il y a un spécialprint
méthode de cet objet. Sortie de la Console:Sortie via
htmlTable
dans knitr, RStudio de spectateur ou de Brillant: