You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Tidy Census最新ACS变量列表中查找18岁及以上选民变量求助

解决方法:组合ACS变量近似18岁及以上选民数

首先明确:ACS没有直接标记“选民”的变量,因为它不追踪投票登记或投票行为,但可以通过18岁及以上符合选民资格的人口来近似,具体步骤如下:

1. 核心变量组合思路

你需要两类变量的组合:

  • 年龄筛选变量:锁定18岁及以上群体
  • 资格验证变量:筛选符合选民核心要求的群体(美国多数地区要求公民身份,或直接用投票登记相关变量)

两种实用变量组合方案

方案一:用公民身份近似选民资格

针对ACS 5年最新估计值(如2022年),可使用B05001系列交叉变量:

  • B05001_006:18-64岁本土出生公民
  • B05001_018:65岁及以上本土出生公民
  • B05001_008:18-64岁入籍公民
  • B05001_020:65岁及以上入籍公民
    将以上四个变量的数值相加,即可得到18岁及以上公民总数,近似选民基数。

方案二:直接用投票登记相关变量

ACS提供B05004系列变量,直接对应选民登记状态:

  • B05004_003:18岁及以上已登记选民
  • B05004_004:18岁及以上未登记但符合资格的选民
    两者相加就是完整的18岁及以上符合选民资格的群体总数,这个方案更精准。

2. tidycensus调用示例代码

library(tidycensus)
library(dplyr)

# 首次使用需设置API密钥:census_api_key("你的密钥", install = TRUE)

# 获取县级别18+符合资格选民数据(方案二)
acs_voter_data <- get_acs(
  geography = "county",
  variables = c(
    registered = "B05004_003",
    eligible_unregistered = "B05004_004"
  ),
  year = 2022,
  survey = "acs5"
)

# 计算每个县的18+符合资格选民总数
voter_summary <- acs_voter_data %>%
  group_by(GEOID, NAME) %>%
  summarize(total_eligible_voters = sum(estimate))

3. 变量搜索技巧

用tidycensus内置函数快速定位相关变量:

# 加载ACS变量列表
acs_vars <- load_variables(2022, "acs5", cache = TRUE)
# 搜索年龄+选民/公民相关变量
target_vars <- acs_vars[grepl("18 years|citizen|registered voter", acs_vars$label, ignore.case = TRUE), ]
print(target_vars)

内容的提问来源于stack exchange,提问作者Logan W.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 07:25:18