我有两个连续的变量光和温度,我正在研究针对这些变量的光合作用速率。
我希望将数据拆分/细分为小范围的光和温度,然后将其针对光合作用进行绘制。
我想知道如何将数据拆分为这些光照和温度范围组合。例如,我想要以下内容:
数据集1 :(光照> 100和<200)和(温度> 15和<20)
数据集2 :(光> 100和<200)和(温度> 20和<25)
...等,将在每个光照范围和每个温度范围继续。
我想指定我仅对按温度和光照对数据的子集感兴趣。 这是因为我将通过另一个测量变量(光合作用)在该数据集中绘制数据。我不打算绘制光线或温度本身。
我的结果:在这两个不同的微气候范围内,计算两种处理(环境CO2和CO2升高)的平均光合作用。
到目前为止,我已经尝试过: 子集() %在范围内% %between%
感谢您的帮助。
答案 0 :(得分:0)
使用基本函数cut
和ggplot函数facet_wrap
,您可以做您需要做的事情,并且可以灵活地尝试多种安排,而不会扩散多个数据帧。
library(tidyverse)
df <- expand.grid(light = seq(100,300, by = 25),
temperature = seq(15,25, by = 2))
df_cat <- df %>%
mutate(light.level = cut(light,
breaks = c(100,200,300),
include.lowest = T,
labels = c("dim", "bright")),
temperature.level = cut(temperature,
breaks = c(15,20,25),
include.lowest = T,
labels = c("cool", "warm")))
ggplot(df_cat, aes(x = light, y = temperature, colour = temperature.level, shape = light.level)) +
geom_point() +
facet_wrap(~temperature.level + light.level)