Yes, I see what you mean:

 > median(c(60, 50, 40, 20, 20, 20))
[1] 30
 > median(c(50, 50, 50, 20, 20, 20))
[1] 35
 >

Thanks so much for that clear example.

-Kevin

On 8/7/23 14:45, Sean Trende wrote:
> 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