尋找一種方法來填充一個向量,其中新值的條件是該向量中的值和數據框中的另一個變量。粘貼下面的數據的例子。條件系列填充R
PrsVar= c(rep(1,10),rep(2,7),rep(3,11))
IndVar = c(0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0)
OutVar = c(1,1,1,1,2,2,2,3,3,3,1,1,1,1,2,2,2,1,1,1,1,2,2,2,2,3,3,3)
exampdata <- cbind(PrsVar,IndVar,OutVar)
exampdata <- as.data.frame(exampdata)
> exampdata
PrsVar IndVar OutVar
1 1 0 1
2 1 0 1
3 1 0 1
4 1 1 1
5 1 0 2
6 1 0 2
7 1 1 2
8 1 0 3
9 1 0 3
10 1 0 3
11 2 0 1
12 2 0 1
13 2 0 1
14 2 1 1
15 2 0 2
16 2 0 2
17 2 1 2
18 3 0 1
19 3 0 1
20 3 0 1
21 3 1 1
22 3 0 2
23 3 0 2
24 3 0 2
25 3 1 2
26 3 0 3
27 3 0 3
28 3 0 3
這是時間序列數據,每行代表一個人日。 PrsVar
是研究中個人的ID,IndVar
表示該人物節結束於該人日。之後的人日代表了新的一集。
我想使用PrsVar
和IndVar
的值創建一個類似OutVar
的變量。這個新變量OutVar
標記每個人每天所處的情節,遞增1,並且從每個新個體開始1。
我可以通過一個循環來運行它,但我需要更高效的代碼來處理3,000,000多行數據。試圖在dplyr
或mapply
中使用某些東西,但我很難過。想想解決這個問題會對其他人有所幫助,並且在不久的將來肯定會對我有所幫助。
謝謝,我結束了這個使用。沒有考慮反向,反向,非常有幫助。 – ArcherT