[英]Dataframe analysis by sample name and date in R
我有一个地下水样本结果的数据框。 该表可能如下所示:
井号 | 抽样日期 | 化合物 | 结果 |
---|---|---|---|
一个 | 2020-01-01 | 一个 | 0.5 |
一个 | 2020-01-01 | b | 0.3 |
一个 | 2020-01-01 | 一个 | 0.6 |
一个 | 2020-07-01 | C | 0.1 |
一个 | 2020-07-01 | C | 0.1 |
一个 | 2020-07-01 | C | 0.4 |
乙 | 2020-02-01 | 一个 | 0.1 |
乙 | 2020-08-01 | C | 0.1 |
现在,我想分析每个井和每个采样日期的数据。 具体来说,我想确定这些孔中是否有至少 2 种化合物在同一天测量的结果超过 0.2。
如果是,我想存储此信息。 因此,在此示例中,A 井有 3 个化合物,在 2020 年 1 月 1 日的值超过 0.2。 所以存储的信息应该类似于:
一个 2020-01-01 -> 真的
A 2020-07-01 -> 错误
B 2020-02-01 -> 错误
B 2020-08-01 -> 错误
我的表有数千行和非线性数据间隔。 因此,测量的时间和数量因每口井而异。
我怎样才能浏览数据并进行分析并存储它? 我尝试使用 split 函数将集合按日期和井号拆分为较小的集合。 但我现在并没有真正如何使用输出格式。 另外,我记得在 python 中,我认为我用循环函数做了类似的事情(for i in ...)。 这也适用于R吗? 如果是,如何?
非常感谢您阅读我的问题:)
您可以检查每组的all
值是否每个case_when
都高于 0.2。 您可以使用以下代码:
library(dplyr)
df %>%
group_by(Sampling_date) %>%
mutate(info = case_when(all(Result > 0.20) ~ "true", TRUE ~ "false"))
输出:
# A tibble: 8 × 5
# Groups: Sampling_date [4]
Well_Number Sampling_date Compound Result info
<chr> <chr> <chr> <dbl> <chr>
1 A 2020-01-01 a 0.5 true
2 A 2020-01-01 b 0.3 true
3 A 2020-01-01 a 0.6 true
4 A 2020-07-01 c 0.1 false
5 A 2020-07-01 c 0.1 false
6 A 2020-07-01 c 0.4 false
7 B 2020-02-01 a 0.1 false
8 B 2020-08-01 c 0.1 false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.