0
我需要創建2列:PRETARGET和TARGET基於幾個條件。如何考慮R中的每個觀察的以下和前一行R
要創建預目標,我的每一行數據(每個參與者PPT和審判TRIAL)我需要檢查CURRENT_ID與列CanBePretarget一個0值相關聯,而下面一行是CURRENT_ID + 1的值。如果這些條件得到滿足,那麼,我想有一個0值,如果他們不履行1.
一個創造價值TARGET,我的每一行數據(每個參與者PPT和審判TRIAL)我需要檢查CURRENT_ID與列CanBeTarget一個0值相關聯,並且以前的行的CURRENT_ID值 - 1。如果這些條件都滿足的話,我想有一個0值,如果他們不履行1.
另外一個值,如果結果在預目標是1,那麼目標下一行的值也應該是1.
我在以下示例中添加了所需的輸出。
我想使用for循環和ifelse語句,但我不知道如何考慮每個觀察的以下/前一行。
PPT TRIAL PREVIOUS_ID CURRENT_ID NEXT_ID CURRENT_INDEX CanBePretarget CanBeTarget PRETARGET TARGET
ppt01 11 2 3 4 3 0 0 0 1
ppt01 11 3 4 3 4 1 0 1 0
ppt01 11 4 5 6 8 0 0 1 1
ppt01 11 6 7 8 10 0 0 1 1
ppt01 11 7 10 11 18 0 1 0 1
ppt01 11 10 11 12 19 0 0 0 0
ppt01 11 11 12 14 20 1 0 1 0
ppt01 12 1 2 1 2 1 0 1 1
ppt01 12 2 3 4 5 0 0 1 1
ppt01 12 5 6 6 8 0 0 0 1
ppt01 12 6 7 7 10 0 0 0 0
ppt01 12 7 8 9 12 0 0 0 0
ppt01 12 8 9 9 13 0 0 0 0
ppt01 12 9 10 11 16 0 0 0 0
ppt01 12 10 11 11 17 0 0 0 0
ppt01 13 1 2 2 2 1 0 1 1
ppt01 13 3 3 3 10 0 0 1 1
ppt01 13 4 5 6 13 0 0 0 1
ppt01 13 5 6 7 14 0 0 1 0
ppt01 13 9 9 10 19 0 0 0 1
ppt01 13 9 10 10 20 0 0 0 0
ppt01 13 10 11 12 22 0 0 0 0
ppt01 13 11 12 12 23 0 0 1 0
ppt01 14 10 11 11 15 0 0 0 1
ppt01 14 11 12 12 17 0 0 1 0