【发布时间】:2011-03-14 14:58:53
【问题描述】:
大家好, 我是 R 新手。
我有两个面板数据文件,列“id”、“date”和“ret”
文件 A 的数据比文件 B 多得多, 但我主要处理的是文件 B 数据。
“id”和“date”的组合是唯一标识符。
是否有一种优雅的方式来查找 B 中的每个 (id, date),我需要从文件 A 中获取过去 10 天的 ret,并将它们存储回 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
}
但循环需要永远。
非常感谢您的想法。
非常感谢。
【问题讨论】:
-
K:供将来参考:如果您的代码与您提出的问题的文本匹配,这对于试图帮助您的人来说非常有用。
-
对不起。感谢您的帮助
-
它是否匹配都可以解释。代码只是一个说明......像往常一样。
标签: r loops vectorization