2015-09-17 2 views
3

у меня есть data.frame как это выглядит следующим образом:R: Как boxplot с несколькими категориями

date <- as.POSIXct(c("2015-08-14 08:04:50", "2015-08-14 08:06:50", "2015-08-14 08:015:50", "2015-08-15 08:17:50", "2015-08-15 08:23:50") 
transport <- c("bus", "bus", "train", "train", "train") 
no2 <- c(74, 78, 100, 90, 85) 
df <- data.frame(date, transport, no2, stringsAsFactors = FALSE)) 

Я хочу, чтобы произвести boxplot, что она будет в зависимости от вида транспорта и в разные дни, а также , Поэтому я хочу, чтобы это было по двум категориям: днем ​​и в режиме транспорта. Насколько мне известно, в функции boxplot определены x и y, поэтому y можно построить в соответствии с x.

Есть ли у кого-нибудь идеи, как использовать две категории?

Другой подобный вопрос о присущи рефлективный, вербальный: У меня есть данные, как, что:

date <- as.POSIXct(c("2015-08-14 08:04:50", "2015-08-14 08:06:50", "2015-08-14 08:015:50", "2015-08-15 08:17:50", "2015-08-15 08:23:50")) 
no2_site1 <- c(74, 78, 100, 90, 85) 
no2_site2 <- c(84, 88, 110, 100, 95) 
df <- data.frame(date, no2_site1, no2_site2, stringsAsFactors = FALSE) 

Моя цель состоит в том, чтобы сделать boxplot, что он будет показывать концентрации NO2 в обоих местах (2 коробки на каждый день) на разные дни ,

ответ

0

Поскольку ваши даты включают время, необходимо удалить время, чтобы у вас были отдельные дни. Затем напишите R-формулу (y ~ x * x2 ...), которая описывает значения no2, зависит от взаимодействия между date и transport.

df$date = strftime(df$date, "%Y-%m-%d") 
df$date = factor(df$date) 
boxplot(no2 ~ date * transport, data = df, col=(c("gold","darkgreen"))) 

Вот код для ggplot

library(ggplot2) 
ggplot(df, aes(x=date, y=no2)) + geom_boxplot(aes(fill=date))+ facet_grid(~ transport, scales='free_x') 
+0

Кажется, работает. Спасибо! :) Теперь просто подумайте, как добавить кучу ярлыков для дат и транспорта, так как у меня есть больший размер данных, чем этот маленький пример. –

+0

С ggplot. Вы знаете, как удалить NA в сюжете? Ну, это показывает раздел для NA. –

+0

Я обновил строку ggplot с помощью весов = 'free_x' – pcantalupo

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