【发布时间】:2018-09-21 07:11:34
【问题描述】:
我被困在(可能)非常明显的事情上,但我无法弄清楚实际问题是什么。
DF <- data.frame(Gene = c(rep("A",8), rep("X",8)),
Genotype = c(rep("WT",4),rep("mut",4),rep("WT",4),rep("mut",4)),
TimePoint = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4),
Value = c(12.5,12.33,11,10,23.22,22,21.2,45.3,22,12,23,21.2,23.2,45.3,21,22))
我想做什么: 从组内的所有值中减去对应于 TimePoint == 1 的值(这里:Group = Gene, Genotype)。
我希望在此处显示此代码的结果:
DF %>% group_by(Gene, Genotype) %>% mutate(Diff = Value - first(Value))
但是,我会根据给定的 TimePoint 选择值,而不是第一个函数,该 TimePoint 不一定必须是每个组中的第一个。
我的想法是做这样的事情,但实际上它并没有像预期的那样使用分组数据:
DF %>% group_by(Gene, Genotype) %>% mutate(Diff = Value - filter(.,TimePoint == 1)$Value)
我真的不知道为什么分组数据没有正确传送到过滤器语句?
【问题讨论】: