所以你可以看到我的价格和日期列在下面
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天的代码...但我希望代码能让我减去第5天的第1天价格....第10天的第5天价格......等等 我几天前发布了一个类似的问题......这里是链接:How to extract certain rows ....所有的答案都很有帮助,我之前尝试过但是看起来没有用?任何其他建议都会很棒:D 但我并没有真正得到我想要的输出....我有数据长达3000天....谢谢你
答案 0 :(得分: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"]))