2013-08-20 2 views
4

У меня есть кадр данных, который выглядит как один прикрепленный, с 6 столбцами и 1000 строк (вкладка разделена). Заголовки столбцов (0,30, 60, 120, 240 и 360) представляют собой временные ряды (с 0 - 0 минут, 30 - 30 минут и т. Д.). Я хотел бы создать 6 ящиков, соответствующих столбцам, используя ggplot2 в одном сюжете, имея в виду, что они должны быть разнесены на основе разницы во времени. Кажется, мне нужно будет расплавить столбцы, но не могу понять, как это сделать. Любая помощь приветствуется.Несколько ящиков с использованием ggplot

 0  30  60  120  240  360 
1  1  NA  NA  NA  1  1 
2  NA  NA  NA  NA  NA  NA 
3  NA  NA  1  1  1  1 
4  0.5  0.21  0.15  1  0.38 0.8 
5  0.63 1  0.86  0.85  0.94 0.91 

ответ

6

Вы пытались использовать только расплав?

library(reshape2) 
ggplot(melt(df), aes(variable, value)) + geom_boxplot() 

enter image description here

+1

+1 В случае сомнений, расплавить. –

+0

Спасибо Senor. Это работало с заговором. Но как насчет изменения ширины клещей оси x? Я бы хотел, чтобы 0,30 и 60 были намного ближе (так как они всего лишь на расстоянии 30 минут), а более поздние моменты времени распространяются еще больше, поскольку у них есть более широкий промежуток времени между ними. – user2701186

+1

Вам нужно будет преобразовать 'df $ variable' в' numeric' (теперь это «коэффициент»), а затем «aes (..., group = variable)» в ggplot. См. Например: http://stackoverflow.com/questions/10805643/ggplot2-add-color-to-boxplot-continuous-value-supplied-to-discrete-scale-er –

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