我試圖以編程方式將變量從0
更改爲1
如果在0
之前和之後有三個1
。重新編碼基於周圍值的向量中的值
例如,如果在載體中的數量分別爲1
,1
,1
,0
,1
,1
,並1
,然後我想將0
改變爲1
。
下面是數據的載體dummy_code
在data.frame
df
:
original_df <- data.frame(dummy_code = c(1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1))
這裏是我怎樣,我想有值重新編碼:
desired_df <- data.frame(dummy_code = c(1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1)
我試圖用the function fill
in the package tidyr
,但是這填寫了缺失的值,所以它不起作用。如果我要將0
值重新編碼爲缺失值,那麼這也不起作用,因爲它只會將每個NA
編碼爲1
,當時我只想編碼每個包含三個1s
的NA
作爲1
。
有沒有辦法以編程的方式以有效的方式做到這一點?
http://stackoverflow.com/questions的可能的複製/ 23840590/how-to-the-the-succeeded-numbers-every-there-is-a-0-in-r – akrun