Tag: 滑动窗口

R data.table滑动窗口

使用data.table包实现滑动窗口函数的最佳(最快)方法是什么? 我试图计算滚动中位数,但每个date有多个行(由于2个额外的因素),我认为这意味着动物园rollapplyfunction将无法正常工作。 这是一个使用天真for循环的例子: library(data.table) df <- data.frame( id=30000, date=rep(as.IDate(as.IDate("2012-01-01")+0:29, origin="1970-01-01"), each=1000), factor1=rep(1:5, each=200), factor2=1:5, value=rnorm(30, 100, 10) ) dt = data.table(df) setkeyv(dt, c("date", "factor1", "factor2")) get_window <- function(date, factor1, factor2) { criteria <- data.table( date=as.IDate((date – 7):(date – 1), origin="1970-01-01"), factor1=as.integer(factor1), factor2=as.integer(factor2) ) return(dt[criteria][, value]) } output <- data.table(unique(dt[, list(date, factor1, factor2)]))[, window_median:=as.numeric(NA)] for(i in […]

什么是滑动窗口algorithm? 例子?

在解决几何问题的同时,我遇到了一种称为滑动窗口algorithm的方法。 无法find任何研究材料/细节。 algorithm是什么?

我如何滞后MySQL的列?

考虑下表: SELECT id, value FROM table ORDER BY id ASC; +—–+———+ | id | value | +—–+———+ | 12 | 158 | | 15 | 346 | | 27 | 334 | | 84 | 378 | | 85 | 546 | +—–+———+ id列是自动递增的,但包含间隙。 value列是数字。 我想通过设置与上面两行的value有关的value来看看随着时间的推移value的增加。 这是为行id=85我想设置行id=85 (546)的value对于行id=27 (334)的值。 行id=85计算值是546/334 = 1.63473。 这是我想要达到的结果: SELECT id, […]

在MySQL中模拟滞后函数

| time | company | quote | +———————+———+——-+ | 0000-00-00 00:00:00 | GOOGLE | 40 | | 2012-07-02 21:28:05 | GOOGLE | 60 | | 2012-07-02 21:28:51 | SAP | 60 | | 2012-07-02 21:29:05 | SAP | 20 | 我如何在MySQL的这个表上做一个延迟来打印引号中的差异,例如: GOOGLE | 20 SAP | 40