2
我遇到了一个数据操纵问题。基本上我有两个因子列的数据帧和一个响应变量,如下所示:如何使用dplyr来计算一组行和目标行之间的差异?
set.seed(1234)
df <- data.frame(ID = rep(1:10,each=4),
Condition = factor(rep(c("A","B","C","D"),10)),
Resp = runif(40,0,1))
我想什么来完成是创建一个新的列Resp_new
其中对于每个ID,包括Resp
的差在变量Condition
的水平A
与其余水平B
,C
和D
之间。
我想解决这个问题,dplyr,因为这是我的数据操作的主要工具,但任何帮助将高度赞赏。
如果还是这个优秀的答案后,要dplyr :)。 df%>%mutate(respNew = ave(Resp,ID,FUN = function(i)i - i [1])) – thisisrg
@thisisrg或者,只需输入令牌dplyr函数:)'df $ respNew < - df $ Resp - ave(df $ Resp,df $ ID,FUN = dplyr :: first)' – Frank