[英]calculate difference between Rows in R by setting specific target date
我是 R 的新手,我的 df 如下,我想將我的基准比較日期設置為 2020/02/01,將結果與該日期的行進行比較:這是我的數據框,我希望能夠使用 R 生成 Diff 列
日期 | 水果 | 地點 | 價值 | 差異 |
---|---|---|---|---|
2010-01-01 | 蘋果 | 美國 | 2 | -2 |
2010-02-01 | 蘋果 | 美國 | 4 | 0 |
2020-11-01 | 蘋果 | 美國 | 100 | 96 |
2020-12-01 | 蘋果 | 美國 | 54 | 50 |
2010-01-01 | 蘋果 | 中國 | 0 | -4 |
2010-02-01 | 蘋果 | 中國 | 4 | 0 |
2020-11-01 | 蘋果 | 中國 | 40 | 36 |
2020-12-01 | 蘋果 | 中國 | 44 | 40 |
2010-01-01 | 香蕉 | 美國 | 1 | -1 |
2010-02-01 | 香蕉 | 美國 | 2 | 0 |
2020-11-01 | 香蕉 | 美國 | 12 | 10 |
2020-12-01 | 香蕉 | 美國 | 13 | 11 |
2010-01-01 | 香蕉 | 中國 | 0 | -100 |
2010-02-01 | 香蕉 | 中國 | 100 | 0 |
2020-11-01 | 香蕉 | 中國 | 130 | 30 |
2020-12-01 | 香蕉 | 中國 | 145 | 45 |
謝謝!
使用dplyr
您可以:
library(dplyr)
compare_date <- as.Date('2010-02-01')
df %>%
mutate(Date = as.Date(Date)) %>%
group_by(Fruit, Metric) %>%
mutate(Diff = Value - Value[match(compare_date, Date)]) -> result
result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.