Цвет бина гистограммы, основанный на распределении другой переменной - PullRequest
3 голосов
/ 31 января 2012

Хорошо, это сложно. Это может быть невозможно.

test<-data.frame(var.a=c(1,1,1,1,2,2,2,3,3,3,3,3,4,4,5,5,5,5), var.b=c(1,2,1,3,2,3,4,3,2,2,1,2,1,2,3,4,1,2))

возможно ли раскрасить каждую ячейку гистограммы history (test $ var.a) на основе распределения var.b? так что я могу сказать, что в бункере 1 для his (test $ var.a) есть 50% «единицы», 25% «двойки» и 24% «тройки» var.b? Что-то вроде сложенных баров внутри каждой корзины?

Я думаю, что-то вроде спинограмма , однако столбцы не должны иметь одинаковую высоту (поскольку они представляют частоту var.a), а внутри каждого столбца частота var.b должна иметь цветовую кодировку.

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 31 января 2012

ggplot2 имеет именно то, что вы ищете:

test<-data.frame(var.a=c(1,1,1,1,2,2,2,3,3,3,3,3,4,4,5,5,5,5), var.b=c(1,2,1,3,2,3,4,3,2,2,1,2,1,2,3,4,1,2))

library(ggplot2)
qplot(test$var.a, binwidth = 1, fill = factor(test$var.b))
ggsave("stacked_histogram.pdf")

Stacked histogram

1 голос
/ 11 августа 2016

Потому что я люблю Base R

test<-data.frame(var.a=c(1,1,1,1,2,2,2,3,3,3,3,3,4,4,5,5,5,5), 
                 var.b=c(1,2,1,3,2,3,4,3,2,2,1,2,1,2,3,4,1,2))

в одну строкуR

barplot(table(test$var.b, test$var.a))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...