2012-11-15 3 views
-4

J'ai la trame de données suivante:R barplot empilés

Var1 Var2 
FALSE FALSE 
FALSE TRUE 
TRUE FALSE 
FALSE TRUE 
FALSE FALSE 

Question 1: Quand on regarde seulement 1 colonne, comment puis-je générer simple barplot Stacked (tous les faux au-dessus de trues)? Question 2: Comment puis-je mettre ces deux barres (empilées) les unes à côté des autres dans une seule parcelle?

J'ai besoin de ces parcelles dans le cadre d'une mission et je ne suis pas autorisé à utiliser des bibliothèques externes (tels que ggplot)

merci

+6

Je ne vais pas faire vos devoirs pour vous, mais vous devriez commencer par lire la page d'aide trouvée en tapant '? Barplot'. Regardez aussi les exemples trouvés ici. – GSee

+0

a déjà fait pas mal de recherches mais l'argument "beside = FALSE" ne semble pas fonctionner, il met simplement 2 barres les unes à côté des autres ... – Michael

Répondre

3

Les questions ont déjà été répondues mais je fournirai le mien de toute façon puisque j'ai déjà fait le travail. :)

df<-data.frame(Var1=c(FALSE, FALSE, TRUE, FALSE, FALSE), 
        Var2=c(FALSE, TRUE, FALSE, TRUE, FALSE)) 
    barplot(t(rbind(Var1=table(df$Var1), var2=table(df$Var2)))) 

Logical count

+0

Merci pour votre réponse de clarification :-) – Michael

3

Vos données:

dat<-read.table(text="Var1 Var2 
FALSE FALSE 
FALSE TRUE 
TRUE FALSE 
FALSE TRUE 
FALSE FALSE", header = TRUE) 

Il fonctionne avec

barplot(rbind(colSums(dat), colSums(!dat))) 

enter image description here

+0

je suis très content de votre réponse rapide, mais comment pourrais-je l'implémenter dans une trame de données qui a plus de colonnes que celles que l'on veut tracer (vous utilisez une table, comment devrais-je faire une table en dehors d'une trame de données)? – Michael

+0

@Michael (1) Cette approche ne dépend pas du nombre de colonnes. (2) Je n'utilise pas de table mais une trame de données (en fait la fonction 'read.table' renvoie une trame de données). –

+0

Merci pour votre réponse, merci à la réponse du Dr Mike, je peux également l'implémenter (était assez simple mais je suis nouveau à R) – Michael