我在 R 中有一个面板数据集,记录了几年来城市人口的百分比变化。简化版本如下所示:
city_pop<-tibble(city=c("NYC", "NYC", "LA", "LA"),
percentpopchange=c("0.1", "0.2", "0.5", "0.3"),
year=c(1980, 1981, 1980, 1981))
我想计算1980 年和 1981 年纽约和洛杉矶的总人口变化(百分比)。例如,纽约的人口变化为 0.32。我理想的数据集应为:
cum_city_pop<-tibble(city=c("NYC", "LA"),
total_percentpopchange=c("0.32", "0.95"))
有没有办法在 R 中做到这一点? 我将不胜感激任何帮助。
假设 LA 的 0.93 是打字错误:
创建于 2024-09-03,使用reprex v2.1.1
如果我们假设 1980 年纽约州的人口为 1,000 人,那么 1980 年和 1981 年之后其人口变化如下:
1980 年:1000 美元 + 1000 美元*0.1 = 1100 美元
1981 年:1100 美元 + 1100 美元*0.2 = 1320 美元。
因此,在 1980 年和 1981 年期间,纽约州的人口增加了:(1320 美元 - 1000 美元)/1000 美元 = 0.32。
下面粘贴了一些计算该问题的 R 代码:
顺便说一句,我认为 1980 年至 1981 年洛杉矶的总人口变化百分比应该是 0.95,而不是 0.93。