Parcelle de chaque colonne, dans un bloc de données sous forme d'histogramme sur une page à l'aide de ggplot

Je voudrais tracer chaque colonne de données.cadre à l'aide d'un histogramme sur une seule page. Voici un exemple d'utilisation de l'exemple de "diamants" de la série de données qui vient avec R:

p = list()
for (i in 1:ncol(diamonds)) p[[i]] <- qplot(diamonds[,i], xlab=names(diamonds)[[i]])
do.call(grid.arrange, p)

Parcelle de chaque colonne, dans un bloc de données sous forme d'histogramme sur une page à l'aide de ggplot

Cela ne tracé de toutes les colonnes, mais les données semblent identiques dans chacun d'eux. Donc, clairement, quelque chose de mal.

Est-ce la bonne approche pour cette tâche? Je suis sûr que certains idiot de syntaxe quelque part, c'est l'attribution de la même colonne de l'ensemble de données pour chaque élément de la liste, mais je ne suis pas sûr de ce qu'il est.

Merci

  • coupe, couleur et la clarté ne sont pas des variables numériques, ils sont des facteurs. Comment devraient-ils être tracée (depuis un histogramme a peu de sens dans ce cas)?
  • Je vais la deuxième ce que joran a dit, mais si vous êtes ok avec ignorant des choses comme ça, vous voulez melt les données (reshape2 package) et puis l'intrigue avec facet_wrap
  • Il peut encore faire sens pour compter les éléments de chaque catégorie, mais c'est juste un exemple. Je suis tout à fait acceptable avec la suppression de ces colonnes en quelque sorte.
  • Dans ce cas, il suffit de suivre @Justin conseils (peut-être qu'il va même l'écrire comme une réponse...)
  • Vous ne savez pas comment utiliser fondre et facet_wrap pour cela. faire fondre semble permettre de choisir les colonnes de données.cadre, mais alors je ne suis pas sûr de savoir comment utiliser facet_wrap de les reporter.
InformationsquelleAutor oneself | 2012-10-23