2016-04-22 5 views
1

Мои данные состоят из четырех временных рядов (здесь, от A до D), и я хочу наблюдать частоту непрерывного значения в каждой серии во времени. То есть, я хотел бы иметь время на оси x с A, B, C и D, а для каждого временного диапазона - вертикальную гистограмму.Гистограмма по уровням

Чтобы быть более ясным, я хотел бы получить что-то похожее на

what I get using this code:

ggplot(data, aes(x=time, y=values)) + geom_boxplot() 

, но с гистограмм вместо присущи рефлективный, вербальный.

Вот данные:

values time 
0,24 A 
0,70 A 
0,36 A 
0,73 A 
0,72 A 
0,72 A 
0,58 A 
0,62 A 
0,24 B 
0,76 B 
0,70 B 
0,36 B 
0,73 B 
0,62 B 
0,24 C 
0,63 C 
0,71 C 
0,36 C 
0,73 C 
0,92 C 
0,62 C 
0,85 C 
0,40 C 
0,49 C 
0,63 D 
0,73 D 
0,71 D 
0,92 D 
0,57 D 
0,92 D 
0,85 D 
+0

Будет ли это работать? 'ggplot (data, aes (x = values)) + geom_histogram() + facet_wrap (~ time)' – Gopala

+0

гистограмма для разного времени? или вы имеете в виду баррель со средним значением/суммой/количеством значений по времени? – Ananta

+0

@Gopala этот код дает матрицу из 4 гистограмм. То, что мне нужно, это эти гистограммы последовательно на одной оси x с той же осью y (от 0 до 100%) – KermittDuss

ответ

1

Как это?

library(ggplot2) 
    DF=data.frame(time=rep(LETTERS[1:4],each=100),values=rnorm(400,5,2)) 
    ggplot(DF, aes(x=values)) + geom_histogram() + facet_wrap(~time,ncol=4)+ 
     coord_flip()+ 
     theme_classic() 
+0

Точно! Есть ли способ изменить число частотных классов? – KermittDuss

+0

проверить? Geom_histogram. Вы увидите, что geom_histogram (bins = 5) будет делать это на основе нужного вам числа и geom_histogram (binwidth = 2) в зависимости от ширины классов, которые вы хотите. – Wave

+0

Отлично! Большое спасибо! – KermittDuss

Смежные вопросы