【发布时间】:2020-05-12 15:13:47
【问题描述】:
我有下面的例子。
我想创建一个新列,其中 AGE 与同一 PairID 中的每个 Treat==1 相比具有绝对差异。
所需的输出应如下所示。
我已尝试将 dplyr 用于:
数据完成:
Treat <- c(1,0,0,1,0,0,1,0)
PairID <- c(1,1,1,2,2,2,3,3)
Age <- c(30,60,31,20,20,40,50,52)
D <- data.frame(Treat,PairID,Age)
D
D %>%
group_by(PairID) %>%
abs(Age - Age[Treat == 1])
【问题讨论】:
-
请告诉我们处理数据是什么样的,而不是在您的示例中
-
您能否向我们展示一下您当前的代码生成了什么?您可以为此使用
dput(output_df) -
用于创建新列的
dplyr函数是mutate()。试试D %>% group_by(PairID) %>% mutate(`|d|` = abs(Age - Age[Treat == 1]))