R脚本使用具有容差帧的连续行

时间:2014-02-03 06:52:16

标签: r

我正在尝试创建一个R脚本,上面写着“创建一个新变量,并根据之前的变量'得分',连续10个'得分'得1分,其中至少8个'得分'中的8个'是在1952年或以上“

1 个答案:

答案 0 :(得分:1)

zoo::rollapply()

的情况如何
#make dataframe with scores
df<-data.frame(score=sample(1000:3000,2000))

require(zoo) # for rollapply() function
df$newvar<-c(rep(0,9),rollapply(df,width=10,FUN=function(x)ifelse(length(x[x>=1952])>=8,1,0)))
head(df[df$newvar==1,])

    score newvar
25   2695      1
26   2750      1
30   2468      1
140  2525      1
141  2515      1
275  1989      1