1
我需要用1替換0,但僅限於組值滿足以下條件的情況; 「1 0 1」或「0 1」(如果在開始處)或「1 0」(如果在結尾處)。給出的示例數據框:替換滿足特殊條件的數據幀中的行值
df <- data.frame(a = c(1,0,1,0,1,1,1,0,1,1,1),
b = c(1,1,1,0,1,1,1,0,1,1,1),
c = c(1,0,1,1,1,0,1,0,1,1,1),
d = c(1,1,1,0,1,1,1,1,1,1,1),
e = c(1,0,1,0,1,1,1,1,1,1,1),
f = c(1,1,1,1,1,1,1,1,1,0,1))
df
那就需要返回此:
df.result <- data.frame(a = c(1,1,1,0,1,1,1,0,1,1,1),
b = c(1,1,1,0,1,1,1,0,1,1,1),
c = c(1,1,1,1,1,1,1,0,1,1,1),
d = c(1,1,1,0,1,1,1,1,1,1,1),
e = c(1,1,1,0,1,1,1,1,1,1,1),
f = c(1,1,1,1,1,1,1,1,1,1,1))
df.result
注意相關0的已更改爲1的。本質上,我試圖替換連續出現的所有0。
任何想法如何在R中實現這一點?
在此先感謝。
'rollapply()'從包'zoo'可能是每行有用。 ...或從'base'輸入'rle()' – jogo