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