簡體   English   中英

通過設置特定的目標日期計算 R 中的行之間的差異

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM