私は R を学ぼうとしていますが、SAS で 10 年以上にわたって行ってきたことがいくつかありますが、R で行う最善の方法を完全に理解することはできません。このデータを取得してください。
id class t count desired
-- ----- ---------- ----- -------
1 A 2010-01-15 1 1
1 A 2010-02-15 2 3
1 B 2010-04-15 3 3
1 B 2010-09-15 4 4
2 A 2010-01-15 5 5
2 B 2010-06-15 6 6
2 B 2010-08-15 7 13
2 B 2010-09-15 8 21
ID、クラス、および 4 か月のローリング ウィンドウ内のローリング サムとして必要な列を計算したいと考えています。id と class の組み合わせごとにすべての月が存在するわけではないことに注意してください。
SAS では、通常、次の 2 つの方法のいずれかでこれを行います。
RETAIN
プラスIDとクラスによる。PROC SQL
適切なウィンドウ内の id、class、および df1.d-df2.d で、df1 としての df から df2 としての df への左結合
この種の問題に対する最適な R のアプローチは何ですか?
t <- as.Date(c("2010-01-15","2010-02-15","2010-04-15","2010-09-15",
"2010-01-15","2010-06-15","2010-08-15","2010-09-15"))
class <- c("A","A","B","B","A","B","B","B")
id <- c(1,1,1,1,2,2,2,2)
count <- seq(1,8,length.out=8)
desired <- c(1,3,3,4,5,6,13,21)
df <- data.frame(id,class,t,count,desired)