-2

ご覧のとおり、下に価格と日の列があります

 Price  Day
    2   1
    5   2
    8   3
    11  4
    14  5
    17  6
    20  7
    23  8
    26  9
    29  10
    32  11
    35  12
    38  13
    41  14
    44  15
    47  16
    50  17
    53  18
    56  19
    59  20

次に、以下の出力が必要です

  Difference    Day
    12  5
    15  10
    15  15
    15  20

基本的に私は5日ごとに価格の違いを持っ​​ています...それは基本的に最初の日から5日目を差し引くだけです...そして5日目から10日目など....私はすでにコードを作成しましたデータを5日間隔に分けます...しかし、1日目の価格で5日を差し引くことができるコードが必要です....5日目の価格で10日目...など、同様の質問をいくつか投稿しました数日前...ここにリンクがあります:特定の行を抽出する方法....すべての回答は役に立ち、以前に試してみましたが、機能していないようです? 他の提案は素晴らしいでしょう:Dしかし、私は本当に私が望む出力を得ていません....私は3000日までのデータを持っています....ありがとう

4

1 に答える 1

1

サンプル データを作成します。

tmp <- structure(list(Price = c(2L, 5L, 8L, 11L, 14L, 17L, 20L, 23L, 
26L, 29L, 32L, 35L, 38L, 41L, 44L, 47L, 50L, 53L, 56L, 59L), 
    Day = 1:20), .Names = c("Price", "Day"), class = "data.frame", row.names = c(NA, 
-20L))

インデックス日を定義します。

ind <- seq(5, nrow(tmp), by=5)

指標日の差を計算し、実際の日と一致させます。

data.frame(day = tmp[ind, "Day"], diff = diff(tmp[c(1, ind), "Price"]))
于 2013-03-10T14:21:14.350 に答える