繁体   English   中英

R:计算增长率/衰减率

[英]R: calculating growth/decay rates

我是 R 的新手,我正在尝试解决一些问题。

我有一个包含City, YearPopulation标题的数据集,我已将其导入 RStudio。

我的示例数据如下所示:

(Melbourne, 2005, 5000)
(Melbourne, 2010, 4000) 
(Adelaide, 2005, 3000) 
(Adelaide, 2010, 9000)

我希望能够创建另一个数据集,显示 2005 年和 2010 年之间按城市分组的增长率。例如,如果墨尔本 2005 年的人口为 5000,而墨尔本的 2010 年人口为 4000,那么增长率为 ((4000 -5000)/5000) = -0.2。 我想创建另一个数据集来计算每个城市的增长率。

我不确定如何将这个公式应用于我的数据。

有人可以帮我吗?

谢谢。

您可以使用包dplyr

df <- data.frame(city = c("Melbourne", "Melbourne", "Adelaide", "Adelaide"), 
                 year = c(2005, 2010, 2005, 2010), 
                 pop = c(5000,4000,3000,9000))

df %>% 
  group_by(city) %>%
  arrange(year) %>%
  mutate(growth = (pop-lag(pop))/lag(pop))



# A tibble: 4 x 4
# Groups:   city [2]
  city       year   pop growth
  <chr>     <dbl> <dbl>  <dbl>
1 Melbourne  2005  5000   NA  
2 Adelaide   2005  3000   NA  
3 Melbourne  2010  4000   -0.2
4 Adelaide   2010  9000    2  

%>%被称为管道。我们基本上将前一个表达式的结果“管道”到下一个表达式中。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM