1
我有一个数据帧,其结构如下(df
)。我想修改ID2, PERIOD
,这样ID2,PERIOD号码会被转发到AMT > 0
(注意当AMT> 0时,EVID为0)。所以,ID2==13/PERIOD==2
的前两行实际上应该是ID2==12/PERIOD==1
,如dfout
数据帧中所示。 Ans等。基于数据帧列中的条件进行的ID编号
df <-
ID ID2 TIME DVID AMT DV PERIOD
1 12 0 0 50 NA 1
1 12 0.5 1 0 10 1
1 12 0.5 2 0 15 1
1 13 600 1 0 2.5 2
1 13 600 2 0 4 2
1 13 600 0 100 NA 2
1 13 602 1 0 20 2
1 13 602 2 0 35 2
1 14 800 1 0 5 3
1 14 800 2 0 10 3
1 14 800 0 50 NA 3
dfout <-
ID ID2 TIME DVID AMT DV PERIOD
1 12 0 0 50 NA 1
1 12 0.5 1 0 10 1
1 12 0.5 2 0 15 1
1 12 600 1 0 2.5 1
1 12 600 2 0 4 1
1 13 600 0 100 NA 2
1 13 602 1 0 20 2
1 13 602 2 0 35 2
1 13 800 1 0 5 2
1 13 800 2 0 10 2
1 14 800 0 50 NA 3
有没有关于如何在R中做到这一点的技巧?
对不起akrun由dplyr第二种方案没有做的工作。第一个解决方案! – Amer
@Amer出于某种原因,它为我工作。 – akrun
mm可能与plyr和dplyr在我的脚本中加载在一起。不用担心,我会仔细看看。谢谢。 – Amer