小编jas*_*n K的帖子

如何避免循环

全部,我是R.的新手

我有两个面板数据文件,列"id","date"和"ret"

文件A比文件B有更多的数据,但我主要使用文件B数据.

"id"和"date"的组合是unqiue标识符.

是否有一种在B中查找每个(id,date)的优雅方式,我需要从文件A中获取过去10天,然后将它们存回B中?

我天真的做法是循环B中的所有行,

for i in 1:length(B) {
    B$past10d[i] <- prod(1+A$ret[which(A$id == B$id[i] & A$date > B$date[i]-10 & A$date < B$date[i])])-1
}
Run Code Online (Sandbox Code Playgroud)

但循环需要永远.

真的很感激你的想法.

非常感谢你.

loops r vectorization

6
推荐指数
1
解决办法
732
查看次数

标签 统计

loops ×1

r ×1

vectorization ×1