如何按两个变量的范围进行子集化?
How do I subset by the ranges of two variables?
我有两个连续变量 Light 和 Temperature,我正在研究这些变量的光合作用速率。
我正在寻找 split/subset 我的数据到小范围的光和温度,然后我将根据这些绘制光合作用。
我想知道如何将我的数据拆分为这些光照和温度范围组合。例如,我想要以下内容:
数据集 1:(光照 >100 & <200)&(温度 >15 且 <20)
数据集 2:(光照 >100 & <200)&(温度 >20 且 <25)
...等每个光照范围和每个温度范围将继续。
我想说明我只对按温度和光照对数据进行子集化感兴趣。
这是因为我将通过另一个测量变量(光合作用)绘制该数据集中的数据。我不想绘制光或温度本身。
我的结果:计算这些不同微气候范围内两种处理(环境 CO2 和升高的 CO2)的平均光合作用。
到目前为止我已经尝试过:
子集()
%在范围内%
%之间%
感谢任何帮助。
通过使用基本函数 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)
我有两个连续变量 Light 和 Temperature,我正在研究这些变量的光合作用速率。
我正在寻找 split/subset 我的数据到小范围的光和温度,然后我将根据这些绘制光合作用。
我想知道如何将我的数据拆分为这些光照和温度范围组合。例如,我想要以下内容:
数据集 1:(光照 >100 & <200)&(温度 >15 且 <20)
数据集 2:(光照 >100 & <200)&(温度 >20 且 <25)
...等每个光照范围和每个温度范围将继续。
我想说明我只对按温度和光照对数据进行子集化感兴趣。 这是因为我将通过另一个测量变量(光合作用)绘制该数据集中的数据。我不想绘制光或温度本身。
我的结果:计算这些不同微气候范围内两种处理(环境 CO2 和升高的 CO2)的平均光合作用。
到目前为止我已经尝试过: 子集() %在范围内% %之间%
感谢任何帮助。
通过使用基本函数 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)