如何以另一列为条件减去列值

时间:2016-06-19 10:13:55

标签: r dplyr

我有一个数据集,我想从每个索引值的四分之一1的q.ret中减去四分位数的q.ret: 下面是我执行任务的代码:

q8<-  q7%>%  group_by(Index)%>%  summarise(ls =(subset(q7,quartile==1,select=c(q.ret))-subset(q7,quartile==4,select=c(q.ret))))

但它会出现以下错误

Error: expecting a single value

请建议如何解决问题。感谢

1 个答案:

答案 0 :(得分:2)

我想这应该可行

q7%>%  
  group_by(Index)%>%  
  summarise(val =q.ret[quartile==1]-q.ret[quartile==4])

subset(q7,部分正在获得&#39; q.ret&#39; (其中quartile==1)基于整个数据集,而不是基于每个&#39;指数&#39;。为此,我们只需要分组&#39; q.ret&#39;基于逻辑索引(quartile ==1quartile == 4)。