使用两个数据源计算每个州每百万人口的计数
Calculating count per 1 Million population of each state using two data source
我正在处理包含事件实例(如道路交通事故、枪支暴力)的数据集,并在列中提供有关事件的详细信息。
我想计算每个州每百万人口的事件数量,因为我有每个州的重要人口数据。
我将状态更改作为因素并计算了每个状态的事件数:
countbystate <- data1 %>%
group_by(state) %>%
summarise(count=n())
但是,我无法生成每 100 万人口比率的对象。
我尝试按状态加入两个数据状态,希望计算世界正常工作,但我运气不佳。
我相信这对于长期使用 R 的人来说可能非常简单,但我很难计算可视化所需的这个速率指标。
提前致谢。
上面的代码将计算状态的数量,这不是您想要的。要根据另一个因素计算某个实例,您还必须对该实例进行分组。
像这样的东西应该可以工作:
countbystate <- data1 %>%
group_by(state, road_accident) %>%
summarise(count=n())
要回答这个问题,需要合并 U.S 的来源。州级人口数据,数据框包含州数据事件。幸运的是,美国纳税人已经通过 U.S 的资助支付了收集这些信息的费用。人口普查局。
我们将使用 2019 U.S。人口估计来自 U.S。 state level population estimates from 2010 - 2019, merge them with yesterday's COVID-19 stats courtesy of our friends at the Johns Hopkins University Center for Systems Science and Engineering 数据集中包含的人口普查局,并计算每百万人口的确诊病例和死亡率。
首先,我们下载并加载美国人口数据,如下所示。
popData <- "https://www2.census.gov/programs-surveys/popest/tables/2010-2019/state/totals/nst-est2019-01.xlsx"
download.file(popData,
"./data/nst-est2019-01.xlsx",mode="wb")
接下来我们加载人口数据,分配列名并保留 2019 年 7 月的估计值。我们跳过前几行数据,它们是总数 U.S 的摘要行。和各州的聚合区域,以及包含波多黎各数据的最后一行。
library(readxl)
colNames <- c("state","census2010","est_base",paste0("est_",2010:2019))
usPopEst <- read_excel("./data/nst-est2019-01.xlsx",
range="A10:M60",
col_names = colNames)[c(1,13)]
usPopEst$state <- gsub("\.","",usPopEst$state)
现在,我们从我的 JHU CCSE COVID-19 Github 存储库的分叉版本中读取了截至 2020 年 6 月 20 日的 COVID-19 数据。
# read covid-19 data for June 20th
covidFile <- "https://raw.githubusercontent.com/lgreski/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/06-20-2020.csv"
covidData <- read.csv(covidFile,
header=TRUE)
由于 COVID-19 数据处于县/邮政编码级别,我们需要汇总到州级别。然后我们会将其与人口估计值合并并计算每百万人口的发病率。
# aggregate stats to state level
library(dplyr)
covidData %>% filter(Country_Region == "US") %>%
rename(state = Province_State) %>%
group_by(state) %>%
summarise(Confirmed = sum(Confirmed),
Deaths = sum(Deaths)) %>%
inner_join(.,usPopEst) %>%
mutate(confirmed_per_million = Confirmed / (est_2019 / 1000000),
death_per_million = Deaths / (est_2019 / 1000000)) -> summedStates
head(summedStates)
...输出:
> head(summedStates)
# A tibble: 6 x 6
state Confirmed Deaths est_2019 confirmed_per_million death_per_million
<chr> <int> <int> <dbl> <dbl> <dbl>
1 Alabama 29549 838 4903185 6026. 171.
2 Alaska 741 12 731545 1013. 16.4
3 Arizona 50127 1346 7278717 6887. 185.
4 Arkansas 15142 224 3017804 5018. 74.2
5 California 175213 5494 39512223 4434. 139.
6 Colorado 30333 1647 5758736 5267. 286.
>
我正在处理包含事件实例(如道路交通事故、枪支暴力)的数据集,并在列中提供有关事件的详细信息。
我想计算每个州每百万人口的事件数量,因为我有每个州的重要人口数据。
我将状态更改作为因素并计算了每个状态的事件数:
countbystate <- data1 %>%
group_by(state) %>%
summarise(count=n())
但是,我无法生成每 100 万人口比率的对象。 我尝试按状态加入两个数据状态,希望计算世界正常工作,但我运气不佳。
我相信这对于长期使用 R 的人来说可能非常简单,但我很难计算可视化所需的这个速率指标。
提前致谢。
上面的代码将计算状态的数量,这不是您想要的。要根据另一个因素计算某个实例,您还必须对该实例进行分组。
像这样的东西应该可以工作:
countbystate <- data1 %>%
group_by(state, road_accident) %>%
summarise(count=n())
要回答这个问题,需要合并 U.S 的来源。州级人口数据,数据框包含州数据事件。幸运的是,美国纳税人已经通过 U.S 的资助支付了收集这些信息的费用。人口普查局。
我们将使用 2019 U.S。人口估计来自 U.S。 state level population estimates from 2010 - 2019, merge them with yesterday's COVID-19 stats courtesy of our friends at the Johns Hopkins University Center for Systems Science and Engineering 数据集中包含的人口普查局,并计算每百万人口的确诊病例和死亡率。
首先,我们下载并加载美国人口数据,如下所示。
popData <- "https://www2.census.gov/programs-surveys/popest/tables/2010-2019/state/totals/nst-est2019-01.xlsx"
download.file(popData,
"./data/nst-est2019-01.xlsx",mode="wb")
接下来我们加载人口数据,分配列名并保留 2019 年 7 月的估计值。我们跳过前几行数据,它们是总数 U.S 的摘要行。和各州的聚合区域,以及包含波多黎各数据的最后一行。
library(readxl)
colNames <- c("state","census2010","est_base",paste0("est_",2010:2019))
usPopEst <- read_excel("./data/nst-est2019-01.xlsx",
range="A10:M60",
col_names = colNames)[c(1,13)]
usPopEst$state <- gsub("\.","",usPopEst$state)
现在,我们从我的 JHU CCSE COVID-19 Github 存储库的分叉版本中读取了截至 2020 年 6 月 20 日的 COVID-19 数据。
# read covid-19 data for June 20th
covidFile <- "https://raw.githubusercontent.com/lgreski/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/06-20-2020.csv"
covidData <- read.csv(covidFile,
header=TRUE)
由于 COVID-19 数据处于县/邮政编码级别,我们需要汇总到州级别。然后我们会将其与人口估计值合并并计算每百万人口的发病率。
# aggregate stats to state level
library(dplyr)
covidData %>% filter(Country_Region == "US") %>%
rename(state = Province_State) %>%
group_by(state) %>%
summarise(Confirmed = sum(Confirmed),
Deaths = sum(Deaths)) %>%
inner_join(.,usPopEst) %>%
mutate(confirmed_per_million = Confirmed / (est_2019 / 1000000),
death_per_million = Deaths / (est_2019 / 1000000)) -> summedStates
head(summedStates)
...输出:
> head(summedStates)
# A tibble: 6 x 6
state Confirmed Deaths est_2019 confirmed_per_million death_per_million
<chr> <int> <int> <dbl> <dbl> <dbl>
1 Alabama 29549 838 4903185 6026. 171.
2 Alaska 741 12 731545 1013. 16.4
3 Arizona 50127 1346 7278717 6887. 185.
4 Arkansas 15142 224 3017804 5018. 74.2
5 California 175213 5494 39512223 4434. 139.
6 Colorado 30333 1647 5758736 5267. 286.
>