R-计算和绘图时间间隔的平均值



我想使用dplyr和ggplot2计算和绘制不同有色动物的数量。

我对随机日期有不同动物的观察,因此我首先想将这些观测值分为4天的括号,然后计算每个4天支架的平均颜色。我创建了列括号。表示前几个的gi头结果,只是为了显示我的想法。我想在相同的数据框架中添加这些手段(而不是创建新数据。帧或向量),以便以后进行分析和绘图。

对于图,我希望以某种方式显示括号的含义(SD或Boxplots),以及随着时间的推移,随着时间的推移,观察结果的每日观察结果(也许是对观测值的褪色叠加)。

下面是我正在使用的数据集的一部分(我希望能加载的"括号"列。"计数"是给定的"日期"特定"颜色"的动物数量。

    Date    Julian  Count   Color   Bracket.color
4/19/16 110 1   50  mean of 4/19-4/22
4/19/16 110 1   50  mean of 4/19-4/22
4/19/16 110 1   100 mean of 4/19-4/22
4/20/16 111 4   50  mean of 4/19-4/22
4/20/16 111 1   0   mean of 4/19-4/22
4/20/16 111 2   100 mean of 4/19-4/22
4/20/16 111 1   50  mean of 4/19-4/22
4/20/16 111 2   100 mean of 4/19-4/22
4/21/16 112 1   100 mean of 4/19-4/22
4/21/16 112 2   50  mean of 4/19-4/22
4/21/16 112 4   50  mean of 4/19-4/22
4/21/16 112 1   100 mean of 4/19-4/22
4/21/16 112 2   50  mean of 4/19-4/22
4/21/16 112 1   0   mean of 4/19-4/22
4/22/16 113 2   0   mean of 4/19-4/22
4/22/16 113 4   50  mean of 4/23-4/26
4/23/16 114 6   0   mean of 4/23-4/26
4/23/16 114 1   50  mean of 4/23-4/26
4/24/16 115 2   0   mean of 4/23-4/26
4/26/16 117 5   0   mean of 4/23-4/26
4/30/16 121 1   50  
5/2/16  123 1   NA  
5/2/16  123 1   50  
5/7/16  128 2   0   
5/7/16  128 3   0   
5/7/16  128 3   0   
5/8/16  129 4   0   
5/8/16  129 1   0   
5/10/16 131 1   50  
5/10/16 131 4   50  
5/12/16 133 1   0   
5/13/16 134 1   50  
5/14/16 135 1   0   
5/14/16 135 2   50  
5/14/16 135 2   0   
5/14/16 135 1   0   
5/17/16 138 1   0   
5/17/16 138 2   0   
5/23/16 144 1   0   
5/24/16 145 4   0   
5/24/16 145 1   0   
5/24/16 145 1   0   
5/27/16 148 3   NA  
5/27/16 148 1   0   
5/27/16 148 1   50  

任何帮助将不胜感激。非常感谢!

这样的东西应该让您开始。

library(dplyr)
df <- df %>% mutate(Date = as.Date(Date, format='%m/%d/%y'),
                    Start = as.Date(cut(Date, breaks= seq(min(Date), max(Date)+4, by = 4)))) %>%
    mutate(End = Start+3) %>%
    group_by(Start,End) %>%
    summarise(meanColor = mean(Color, na.rm=T),
              sdColor = sd(Color, na.rm=T))
df
#Source: local data frame [10 x 4]
#Groups: Start [?]
#        Start        End meanColor  sdColor
#        <date>     <date>     <dbl>    <dbl>
#1  2016-04-19 2016-04-22  56.25000 35.93976
#2  2016-04-23 2016-04-26  12.50000 25.00000
#3  2016-04-27 2016-04-30  50.00000       NA
#4  2016-05-01 2016-05-04  50.00000       NA
#5  2016-05-05 2016-05-08   0.00000  0.00000
#6  2016-05-09 2016-05-12  33.33333 28.86751
#7  2016-05-13 2016-05-16  20.00000 27.38613
#8  2016-05-17 2016-05-20   0.00000  0.00000
#9  2016-05-21 2016-05-24   0.00000  0.00000
#10 2016-05-25 2016-05-28  25.00000 35.35534

然后使用,

绘制
library(ggplot)
ggplot(df) + geom_line(aes(Start,meanColor))

最新更新