This is correct on the second question, at least for more recent censuses.  On 
the first question, imagine a block where the ages of three individuals are 60, 
50, and 40, and another one where the ages are 20, 20, and 20.  Using your 
approach you would have 50 * 3 = 150 for the first block, and 20*3 = 60 for the 
second block.  The median of 60 and 150 is 105.  Even dividing that by three 
you get 35, which is not the correct median age (30).

-----Original Message-----
From: R-sig-Geo <r-sig-geo-boun...@r-project.org> On Behalf Of Josiah Parry
Sent: Monday, August 7, 2023 2:38 PM
To: Kevin Zembower <ke...@zembower.org>
Cc: r-sig-geo@r-project.org
Subject: Re: [R-sig-Geo] Calculating median age for a group of US census blocks?

Hey Kevin, I don't think you're going to be able to get individual level data 
from the US Census Bureau. The closest you may be able to get is the current 
population survey (CPS) which I believe is also available via tidycensus. 
Regarding your first question, I'm not sure I follow what your objective is 
with it. I would use a geography of census block groups as the measure of 
median for census block groups. Otherwise it is unclear how you are defining 
what a "group of blocks" is.

On Mon, Aug 7, 2023 at 2:34 PM Kevin Zembower via R-sig-Geo < 
r-sig-geo@r-project.org> wrote:

> Hello, all,
>
> I'd like to obtain the median age for a population in a specific group 
> of US Decennial census blocks. Here's an example of the problem:
>
> ## Example of calculating median age of population in census blocks.
> library(tidyverse)
> library(tidycensus)
>
> counts <- get_decennial(
>      geography = "block",
>      state = "MD",
>      county = "Baltimore city",
>      table = "P1",
>      year = 2020,
>      sumfile = "dhc") %>%
>      mutate(NAME = NULL) %>%
>      filter(substr(GEOID, 6, 11) == "271101" &
>             substr(GEOID, 12, 15) %in% c(3000, 3001, 3002)
>             )
>
> ages <- get_decennial(
>      geography = "block",
>      state = "MD",
>      county = "Baltimore city",
>      table = "P13",
>      year = 2020,
>      sumfile = "dhc") %>%
>      mutate(NAME = NULL) %>%
>      filter(substr(GEOID, 6, 11) == "271101" &
>             substr(GEOID, 12, 15) %in% c(3000, 3001, 3002)
>             )
>
> I have two questions:
>
> 1. Is it mathematically valid to multiply the population of a block by 
> the median age of that block (in other words, assign the median age to 
> each member of a block), then calculate the median of those numbers 
> for a group of blocks?
>
> 2. Is raw data on the ages of individuals available anywhere else in 
> the census data? I can find tables such as P12, that breaks down the 
> population by age ranges or bins, but can't find specific data of 
> counts per age in years.
>
> Thanks for your advice and help.
>
> -Kevin
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to