[R] Counting occurrences in a moving window

mdvaan mathijsdevaan at gmail.com
Fri Jun 3 14:11:18 CEST 2011


Would it be possible to use the sqldf package and the ave function to simply
run ave over a limited set? So something like:

DF = data.frame(read.table(textConnection("  A  B 
8025  1995 
8026  1995 
8029  1995 
8026  1996 
8025  1997 
8026  1997 
8025  1997 
8027  1997 
8026  1999 
8027  1999 
8028  1995 
8029  1998 
8025  1997 
8027  1997 
8026  1999 
8027  1999 
8028  1995 
8029  1998"),head=TRUE,stringsAsFactors=FALSE)) 

library(sqldf)
years<-c(1995:1999)
for (t in 1:length(years))
	{
	year = as.numeric(years[t])
	m<-sqldf('select * from DF where B between $year-1 AND $year-4')
	n<-ave(m$A,m$A,FUN = length)
	}

How do I get the correct values in DF$C? Thanks!!


--
View this message in context: http://r.789695.n4.nabble.com/Counting-occurrences-in-a-moving-window-tp3568658p3570652.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list