【发布时间】:2020-11-16 05:37:32
【问题描述】:
我必须计算 2015 年到 2019 年的通货膨胀率。我必须使用 CPI 来计算,这 4 年中每个月都有。这意味着我必须计算去年同月的百分比增长率。p>
他们要求我计算几个国家的数据,然后计算或显示 2015-2019 年期间的平均值。
这是我的数据库:
data <- read.table("https://pastebin.com/raw/6cetukKb")
我尝试过 quantmod、dplyr、lubridate 包,但无法进行 CPI 转换。
我试过了,但我知道它不正确:
data$year <- year(data$date)
anual_cpi <- data %>% group_by(year) %>% summarize(cpi = mean(Argentina))
anual_cpi$adj_factor <- anual_cpi$cpi/anual_cpi$cpi[anual_cpi$year == 2014]
**
更新
**
我的老师给了我们关于如何得到结果的提示,但是当我尝试将它添加到代码中时,我得到了一个错误。
data %>%
tidyr::pivot_longer(cols = Antigua_Barbuda:Barbados) %>%
group_by(name, year) %>%
summarise(value = mean(value)) %>%
mutate((change=(x-lag(x,1))/lag(x,1)*100))
| Antigua_Barbuda | -1.55 |
|----------------- |------- |
| Argentina | 1.03 |
| Aruba | -1.52 |
| Bahamas | -1.56 |
| Barbados | -1.38 |
其中“价值”对应于 2015-2019 年整个期间每个国家/地区的平均通货膨胀率
【问题讨论】:
标签: r database dplyr lubridate quantmod