The variables you'll need from PUMS to construct these estimates are AGEP, COMPOTHX, LAPTOP, SMARTPHONE, and TABLET. Once you pull the microdata, you'll need to create the age groups you are interested in and calculate the estimated you are looking for. Some of the places you can get this data from are data.census.gov, the Census FTP, IPUMS, Census API. Wherever you download it, you'll need t process it and calculate estimates using the provided weights.
If you are an R user, below is some example code that should get you most of the way there. Here is some more info on getting PUMS data using tidycensus
library(tidyverse)
library(tidycensus)
# variables relating to computer ownership
pums_vars <- c("AGEP", "LAPTOP", "SMARTPHONE", "TABLET", "COMPOTHX")
# get pums data
# for this example just use vermont for small download
vt_pums <- get_pums(
variables = pums_vars,
state = "VT",
year = 2019,
survey = "acs1",
show_call = TRUE
)
# remove non-household persons
# create categorical age variable
# recode computer vars into yes/no
vt_pums_clean <- vt_pums %>%
filter(COMPOTHX != "b") %>% # remove non-household persons
mutate(
age_cat = case_when(
AGEP <= 17 ~ "Under 18",
between(AGEP, 18, 64) ~ "18 to 64",
AGEP >= 65 ~ "65 and over"
),
across(
c(COMPOTHX, LAPTOP, SMARTPHONE, TABLET),
~ if_else(.x == "1", "Yes", "No"))
)
# reshape data from wide to long
# and count age category and computer vars using person weights
vt_pums_clean %>%
select(PWGTP, COMPOTHX:TABLET, age_cat) %>%
pivot_longer(cols = c(COMPOTHX:TABLET)) %>%
count(age_cat, name, value, wt = PWGTP)