我试图用每年的人口来计算人口增长百分比。我怎么会在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)
现在我只想知道如何获得增长百分比并绘制图表。谢谢!
答案 0 :(得分:2)
之前的海报说得对,你真的需要研究dplyr和ggplot2。这可能不像它可能那么紧凑,但我认为它完成了工作......
library(tidyverse)
library(ggplot2)
library(lubridate)
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)
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)但我将步骤分开以显示正在发生的事情。