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

如何在SAS中将fipsStateCode与fipscountycode合并为单个FIPS代码变量

在单个SAS数据集中生成完整FIPS代码变量

完整的FIPS县代码由2位州FIPS代码 + 3位县FIPS代码组成,核心是确保县代码为3位(不足补前导零)、州代码为2位,再将两者拼接。以下分两种常见场景给出实现代码:

场景1:原始FIPS变量为数值型

如果fipsStateCode和fipscountycode是数值型(比如州代码存为1而不是01),需要先转为固定长度的字符型再拼接:

data want;
    set have;
    /* 转2位州代码字符(补前导零) */
    state_fips_char = put(fipsStateCode, z2.);
    /* 转3位县代码字符(补前导零) */
    county_fips_char = put(fipscountycode, z3.);
    /* 拼接生成完整FIPS字符型变量 */
    fips_code = cats(state_fips_char, county_fips_char);
    /* 可选:转为数值型FIPS变量(如果需要) */
    fips_code_num = input(fips_code, 5.);
    /* 清理临时变量 */
    drop state_fips_char county_fips_char;
run;

场景2:原始FIPS变量为字符型

如果原始变量是字符型但长度不固定(比如州代码存为"1"而不是"01"),先转为数值再转回固定长度字符:

data want;
    set have;
    /* 标准化州代码为2位字符 */
    state_fips_char = put(input(fipsStateCode, best2.), z2.);
    /* 标准化县代码为3位字符 */
    county_fips_char = put(input(fipscountycode, best3.), z3.);
    /* 拼接生成完整FIPS代码 */
    fips_code = cats(state_fips_char, county_fips_char);
    drop state_fips_char county_fips_char;
run;

简化情况:原始变量已为固定长度字符

如果fipsStateCode已经是2位字符、fipscountycode已经是3位字符,直接拼接即可:

data want;
    set have;
    fips_code = cats(fipsStateCode, fipscountycode);
run;

关键说明

  • z2./z3.格式:强制生成固定长度的字符,自动补前导零,这是保证FIPS代码格式正确的核心。
  • cats()函数:自动忽略变量中的空格,比直接用||拼接更稳妥。

内容的提问来源于stack exchange,提问作者Adrianna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:58:22