回答編集履歴

2

Update

2021/11/06 22:22

投稿

melian
melian

スコア20655

test CHANGED
@@ -1,4 +1,4 @@
1
- 前回回答と同様、**最大で**過去3年度分の総和(`NA` ではい `price_t` 全て)を計算しています。過去3年度分の `price_t` が全て揃っていて、`NA` を含まない場合のみ総和を出力するのであればコメントして下さい。
1
+ 以下通りになます。
2
2
 
3
3
 
4
4
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  y <- as.integer(r["year"])
26
26
 
27
- sum(df[(df$name == r["name"])&(df$year %in% (y-2):y), "price_t"])
27
+ sum(df[(df$name == r["name"])&(df$year %in% (y-2):y), "price_t"][1:3])
28
28
 
29
29
  })
30
30
 
@@ -38,9 +38,9 @@
38
38
 
39
39
  name year price_t cumsum_price
40
40
 
41
- 1 A社 1999 200 200
41
+ 1 A社 1999 200 NA
42
42
 
43
- 2 A社 2000 202 402
43
+ 2 A社 2000 202 NA
44
44
 
45
45
  3 A社 2001 199 601
46
46
 
@@ -54,9 +54,9 @@
54
54
 
55
55
  8 A社 2006 201 603
56
56
 
57
- 9 B社 1999 202 202
57
+ 9 B社 1999 202 NA
58
58
 
59
- 10 B社 2000 203 405
59
+ 10 B社 2000 203 NA
60
60
 
61
61
  11 B社 2001 201 606
62
62
 

1

Update

2021/11/06 22:22

投稿

melian
melian

スコア20655

test CHANGED
@@ -18,9 +18,9 @@
18
18
 
19
19
 
20
20
 
21
- # cusum_price 列を計算_
21
+ # cumsum_price 列を計算_
22
22
 
23
- df["cusum_price"] = apply(df, 1, function(r) {
23
+ df["cumsum_price"] = apply(df, 1, function(r) {
24
24
 
25
25
  y <- as.integer(r["year"])
26
26
 
@@ -36,29 +36,29 @@
36
36
 
37
37
  #
38
38
 
39
- name year price_t cusum_price
39
+ name year price_t cumsum_price
40
40
 
41
- 1 A社 1999 200 200
41
+ 1 A社 1999 200 200
42
42
 
43
- 2 A社 2000 202 402
43
+ 2 A社 2000 202 402
44
44
 
45
- 3 A社 2001 199 601
45
+ 3 A社 2001 199 601
46
46
 
47
- 4 A社 2002 NA NA
47
+ 4 A社 2002 NA NA
48
48
 
49
- 5 A社 2003 207 NA
49
+ 5 A社 2003 207 NA
50
50
 
51
- 6 A社 2004 201 NA
51
+ 6 A社 2004 201 NA
52
52
 
53
- 7 A社 2005 201 609
53
+ 7 A社 2005 201 609
54
54
 
55
- 8 A社 2006 201 603
55
+ 8 A社 2006 201 603
56
56
 
57
- 9 B社 1999 202 202
57
+ 9 B社 1999 202 202
58
58
 
59
- 10 B社 2000 203 405
59
+ 10 B社 2000 203 405
60
60
 
61
- 11 B社 2001 201 606
61
+ 11 B社 2001 201 606
62
62
 
63
63
  ```
64
64