我想填充這樣的一個系列。R根據以前的值填充列
My result ACTUAL Expected
FWK_SEQ_NBR a initial_d initial_c b c d b c d
914 9.161 131 62 0 62 69 0 62 69
915 9.087 131 0 0 53 78 0 53 78
916 8.772 131 0 0 44 140 0 44 87
917 8.698 131 0 0 0 140 0 35 96
918 7.985 131 0 69 52 139 69 96 35
919 6.985 131 0 78 63 138 78 168 0
920 7.077 131 0 140 126 138 87 247 0
921 6.651 131 0 140 126 138 96 336 0
922 6.707 131 0 139 125 138 35 364 0
邏輯
a given
b lag of d by 4
c initial c for first week thereafter (c previous row + b current - a current)
d initial d - c current
下面是我用
DS1 = DS %>%
mutate(c = ifelse(FWK_SEQ_NBR == min(FWK_SEQ_NBR), intial_c, 0) ) %>%
mutate(c = lag(c) + b - a)) %>%
mutate(d = initial_d - c) %>%
mutate(d = ifelse(d<0,0,d)) %>%
mutate(b = shift(d, n=4, fill=0, type="lag"))
我沒有得到的C右邊的代碼,你知道我缺少什麼。我還附上了實際和預期產出的形象。感謝您的幫助!
Actual and Expected values Image
二圖片 - 高附加值產品和商店列
Image - Product and Store as the first two columns- please help
列表下面是實際的代碼,我也複製了預期與實際輸出的圖像。謝謝!
很難理解你在做什麼。請按照適用情況編輯提供'a','b','c','d'的樣本值,然後輸出您想要的結果。 – Drj
現在更有意義。謝謝 – Drj
您確定,您列出的問題和操作順序是正確的嗎?你從'd',''''''''從'b'和'a'推導'b',其中'b'依賴於'd',然後再''從'c'推導。這會造成遞歸計算問題。 – Drj