我以长格式设置的数据集abweichung
。每行对应一次计算。列Berechnung
包含原始值 - " EconoMe Original"和50个修改 - " Berechnung"。我想计算一下" EconoMe原创"之间的变化(%)。和#34; Berechnung"并将输出保存在数据集的nwe列中。
问题是我有多个" Econome原创"值,每个都有50个修改。它们在长格式数据表中合并在一起。 如何编码计算?
我尝试写一个函数,但它没有用。我是R的新手,但我相信这有一个简单的解决方案。
答案 0 :(得分:2)
使用dplyr
,设置一个变量来记录案例编号(即每个块以'EconoMe'开头),然后按案例编号分组,并计算每个组的百分比差异...... < / p>
library(dplyr)
abweichung <- abweichung %>% mutate(Case=cumsum(Berechnung=="EconoMe original")) %>%
group_by(Case) %>%
mutate(Differenz=100*(NK/NK[Berechnung=="EconoMe original"]-1))