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

Stata创建计数新变量时anycount不支持非整数区间如何解决

Stata统计温度区间有效样本量的解决方案

anycount()函数仅支持传入整数列表,无法直接匹配非整数区间的需求,你可以用条件判断配合egen的total()函数实现需求,以下是两种常用实现方案:

方案1:一步生成聚合统计量

如果直接需要按分组(如按年、月)统计目标区间的天数,可直接运行以下代码:

* 语法说明:temperature为温度变量,month为你用来分组的维度变量,可按需替换
bysort month: egen temp_range_count = total(temperature >=30 & temperature <=31.9, Missing)
  • 参数说明:添加, Missing是为了自动忽略温度变量的缺失值,保证统计结果仅包含有效样本。
  • 若不需要分组,统计全样本内的区间天数,去掉bysort month即可:
egen temp_range_count = total(temperature >=30 & temperature <=31.9, Missing)

方案2:先生成单样本区间标记再统计

如果你需要先单独标记每一条记录是否落在目标区间,可先生成二值指示变量再聚合:

* 生成区间指示变量:落在区间内为1,否则为0,温度缺失时该变量也为缺失
gen is_in_range = (temperature >=30 & temperature <=31.9) if !missing(temperature)
* 按分组统计区间总天数
bysort month: egen temp_range_count = total(is_in_range)

浮点数精度提示

如果你的温度变量是经过计算得到的浮点数,为了避免精度误差导致的判断偏差,可以适当调整判断条件的精度阈值,例如:

gen is_in_range = (temperature >=30 - 1e-6 & temperature <=31.9 + 1e-6) if !missing(temperature)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:06:05