2017-04-10 49 views
1

我以長格式設置了數據集abweichung。每一行對應一個計算。列Berechnung包含原始值 - 「經濟原創」和50個修改 - 「Berechnung」。我想計算「EconoMe original」和「Berechnung」之間的變化(以百分比表示),並將輸出結果保存在數據集的黑色列中。長格式表格 - 根據行位置計算

問題是我有多個「Econome original」值,每個值有50個修改。這些合併在一個長格式數據表中。 我如何編碼計算?

我試過寫一個函數,但它沒有奏效。我是R新手,但我確信這有一個簡單的解決方案。

+0

可以顯示你使用的代碼嗎? – Daniel

回答

2

使用dplyr,設置一個變量來記錄的情況下數目(即,每個塊開頭的「EconoMe」),然後由殼體號碼組,並計算每組的百分比差異...

library(dplyr) 
abweichung <- abweichung %>% mutate(Case=cumsum(Berechnung=="EconoMe original")) %>% 
      group_by(Case) %>% 
      mutate(Differenz=100*(NK/NK[Berechnung=="EconoMe original"]-1))