如何从人口数据逐年找到增长率和情节?

时间:2017-08-19 06:48:02

标签: r database graph charts

我试图用每年的人口来计算人口增长百分比。我怎么会在R?

这样做

我的数据如下:

Year    Population
1960    10276477
1961    10483000
1962    10742000
.       .
.       .
.       .
etc towards 2016

我做完了:

Year <- Population$Year
Amount <- Population$Population
x=c(Year)
y=c(Amount)
plot(x,y)

现在我只想知道如何获得增长百分比并绘制图表。谢谢!

1 个答案:

答案 0 :(得分:2)

之前的海报说得对,你真的需要研究dplyr和ggplot2。这可能不像它可能那么紧凑,但我认为它完成了工作......

library(tidyverse)
library(ggplot2)
library(lubridate)

创建矢量&amp;数据框

Year <- seq(ymd("1960/1/1"), ymd("2016/1/1"), by = "years")
Population <- runif(length(Year), min = 100000, max = 10000000)
df <- data_frame(Year, Population)

Dplyr Operations

df %>% 
mutate(Previous_Year = lag(Population, 1), Change = Population - Previous_Year, Percent_Change = Change/Previous_Year*100) %>%
ggplot(aes(x = Year, y = Percent_Change)) +
geom_line() +
geom_smooth()

基本上mutate调用会创建一个新列,滞后会将填充数据偏移1行,这样你就可以在两者之间进行直接的减法,然后你可以将它们除以100乘以

您实际上可以跳过创建“previous_year”列(例如,Change = Population - lag(Population,1)但我将步骤分开以显示正在发生的事情。