我试图将if和/或ifelse语句嵌套在R中,但语法不太正确.我想执行一些基本的算术:参考下面类似的数据集,如果日期相同,并且位置代码相同,我想从代码F的相应pH值中减go 代码a和B的pH值,并将结果输入pHDelta.或者写出来,A-F表示给定的日期和位置.

非常感谢.

我不确定我在下面创建的daset是否会正确显示,如果不正确,请原谅.

我的数据集类似于以下内容:

Date Location Code pH pHDelta
22/07/01 AA A 7.1
22/07/01 AA B 6.8
22/07/01 AA F 8.2
22/07/01 AB A 7. 2
22/07/01 AB B 7.8
22/07/01 AB F 8.4
22/07/01 AC A 7.5
22/07/01 AC B 6.2
22/07/01 AC F 8.3
22/07/01 AD A 7.1
22/07/01 AD B 6.8
22/07/01 AD F 8.2
22/07/02 AA A 7.1
22/07/02 AA B 6.8
22/07/02 AA F 8.2
22/07/02 AB A 7.2
22/07/02 AB B 7.8
22/07/02 AB F 8.4
22/07/02 AC A 7.5
22/07/02 AC B 6.2
22/07/02 AC F 8.3
22/07/02 AD A 7.1
22/07/02 AD B 6.8
22/07/02 AD F 8.2

推荐答案

我们可以使用分组方法-按"日期"、"位置"分组,将"pH"子集,其中"Code"值为"F"(假设每个位置只有一个"F"),然后从"pH"列中减go

library(dplyr)
df1 <- df1 %>%
     group_by(Date, Location) %>%
     mutate(phDelta = pH - pH[Code == "F"][1]) %>%
     ungroup

R相关问答推荐

为什么t使用ifelse()基于两个DF中的匹配观察创建新列不适用于此数据?

如何设置搜索栏来搜索整个Shiny应用程序页面?

使用lares::corr_var函数在for循环中分配变量的问题

将一个载体的值相加,直到达到另一个载体的值

在特定列上滞后n行,同时扩展框架的长度

如何删除多个.CSV文件的行

根据列表中项目的名称多次合并数据框和列表

以R中的正确顺序将日期时间字符列转换为posixct

获取一个数据库框架的摘要,该数据库框架将包含一列数据库框架,

任意列的欧几里得距离

使用sf或terra的LINESTRAING的累积长度

如何得到每四个元素向量R?

我正在努力用R计算数据集中的中值逐步距离

根据另一列中的值和条件查找新列的值

如何在R中改变fviz_pca_biplot中圆的边界线的 colored颜色 ?

在gggraph中显示来自不同数据帧的单个值

主题(Legend.key=Element_RECT(Fill=&Quot;White&Quot;))不起作用

有毒元素与表观遗传年龄的回归模型

如何将宽格式的患者信息数据高效地转换为患者计数的时间序列?

在不重复主题的情况下重新排列组