我在R中存储了一个非常大的数据帧,以长格式存储。它包含从40个不同个体收集的体温数据,间隔10秒,超过16天。个人已经暴露于条件(cond1和cond2)。它基本上是这样的:
ID Cond1 Cond2 Day ToD Temp
1 A B 1 18.0 37.1
1 A B 1 18.3 37.2
1 A B 2 18.6 37.5
2 B A 1 18.0 37.0
2 B A 1 18.3 36.9
2 B A 2 18.6 36.9
3 A A 1 18.0 36.8
3 A A 1 18.3 36.7
3 A A 2 18.6 36.7
...
我想为每种条件组合(AB,BA,AA,BB)创建四个单独的线图,显示平均温度随时间的变化(第1-16天)。
P.S。 ToD代表一天中的时间。不确定我是否需要提供它才能创建情节。
到目前为止,我尝试通过执行
将数据集定义为时间序列ts <- ts(data=dataset$Temp, start=1, end=16, frequency=8640)
plot(ts)
这会返回Temp的图,但我无法弄清楚如何定义条件值来分解数据。
编辑: 基本上我想要一个看起来像这个1的图,但是每个组分别使用一个,并使用平均Temp值。这个图只适用于一个条件下的一个人,我想要一个显示同一条件下所有个体的平均值。
答案 0 :(得分:1)
您可以使用summarise
和group_by
按条件对数据进行分组,然后绘制它。这是你正在寻找的吗?
library(dplyr)
## I created a dataframe df that looks like this:
ID Cond1 Cond2 Day ToD Temp
1 1 A B 1 18.0 37.1
2 1 A B 1 18.3 37.2
3 1 A B 2 18.6 37.5
4 2 B A 1 18.0 37.0
5 2 B A 1 18.3 36.9
6 2 B A 2 18.6 36.9
7 3 A A 1 18.0 36.8
8 3 A A 1 18.3 36.7
9 3 A A 2 18.6 36.7
df$Cond <- paste0(df$Cond1, df$Cond2)
d <- summarise(group_by(df, Cond, Day), t = mean(Temp))
ggplot(d, aes(Day, t, color = Cond)) + geom_line()