У меня есть эксперимент, в котором мне нужно вычесть значения двух разных обработок из контроля (базовый уровень), но эти вычитания должны соответствовать другим столбцам, названным блоком и выбранным годом.
Пустой фрейм данных:
df <- data.frame("Treatment" = c("Control","Treat1", "Treat2"),
"Block" = rep(1:3, each=3), "Year" = rep(2011:2013, each=3),
"Value" = c(6,12,4,3,9,5,6,3,1));df
Treatment Block Year Value
1 Control 1 2011 6
2 Treat1 1 2011 12
3 Treat2 1 2011 4
4 Control 2 2012 3
5 Treat1 2 2012 9
6 Treat2 2 2012 5
7 Control 3 2013 6
8 Treat1 3 2013 3
9 Treat2 3 2013 1
Желаемый вывод:
Treatment Block Year Value
1 Control-Treat1 1 2011 -6
2 Control-Treat2 1 2011 2
3 Control-Treat1 2 2012 -6
4 Control-Treat2 2 2012 -2
5 Control-Treat1 3 2013 3
6 Control-Treat2 3 2013 5
Любое предложение, желательно с использованием dplyr
?
Я нашел похожие вопросы, но ни один из них не касался этой конкретной проблемы.