每月的组日数据

时间:2017-11-13 03:52:33

标签: r date grouping plyr boxplot

我有一个名为" fish"的数据框。其中包含质量,长度和一年中的变量等变量。我需要按月制作一个鱼的箱线图,但没有月份变量,只有一年中的一天(即1:365)。我怎样才能将30天的时间分组来表示月份然后命名它们以便我可以制作一个箱形图?我附上了数据截图。

Fish

2 个答案:

答案 0 :(得分:0)

您可以使用此解决方案:

#load package 
require(tidyverse)
#make dataframe
n <- 100    
tmp <- tibble(year  = rep(c(1994,1994),n/2),day = c(1:n),lenght_mm = rnorm(n),mass_g = rnorm(n,5))                                   
#add month column
tmp <- tmp %>% 
  mutate(month = as.factor(ifelse(day%%30/30 != 0,day%/%30 +1,day%/%30)))

#make plot
    tmp %>% 
      ggplot(aes(month,lenght_mm,col = month)) +
      geom_boxplot() +
      theme_bw()

img

答案 1 :(得分:0)

我会添加一个包含完整日期的新列:

as.Date(104, origin = "2014-01-01")

从那以后你可以按月分组。

months(as.Date(104, origin = "2014-01-01"))

放在一起:

df %>% mutate(date = as.Date(day_of_the_year, origin = "2014-01-01"),
month = months(date))