使用rsatscan纯空间离散Poisson分析时出现人口文件无效日期错误
SaTScan纯空间分析出现日期错误
错误提示
Error: Invalid date '775' in population file, record 68.
Error: Invalid date '697' in population file, record 69.
数据共70条记录,多数记录均出现该错误。
使用的代码
ss.options(list( # Input Files CaseFile=file.path(results_dir, "SS_Analysis.cas"), PopulationFile=file.path(results_dir, "SS_Analysis.pop"), CoordinatesFile=file.path(results_dir, "SS_Analysis.geo"), # Time Settings # StartDate="2018/01/01", # EndDate="2018/12/31", PrecisionCaseTimes=0, TimeAggregationUnits = 1, # Analysis Settings CoordinatesType=1, # 1 for latitude/longitude #AnalysisType = 1, #Purely Spatial ModelType=0, # 1 for discrete Poisson ScanAreas=1 , # 1 for high rates ReportGiniClusters="n", MaxSpatialSizeInPopulationAtRisk="30", MonteCarloReps=999 ))
数据结构
- 病例文件(case_file):包含
location.id、count字段 - 人口文件(pop_file):包含
location.id、population字段 - 坐标文件(coord_file):包含
location.id、latitude、longitude字段
仅需执行纯空间分析,请问遗漏了哪些设置?
解决方法
- 启用纯空间分析参数:你把
AnalysisType = 1注释掉了,SaTScan默认会触发时间相关分析逻辑,导致它在人口文件中尝试解析日期字段,但你的数据里没有日期,所以把population的数值误判为无效日期。取消该参数的注释,明确指定纯空间分析。 - 修正模型类型:当前
ModelType=0对应连续Poisson模型,纯空间离散Poisson分析应该设置为ModelType=1,匹配你的病例计数数据。 - 清理时间相关参数:纯空间分析不需要时间设置,建议注释或移除
PrecisionCaseTimes和TimeAggregationUnits,避免SaTScan触发不必要的时间解析逻辑。
修改后的核心参数部分如下:
# Analysis Settings CoordinatesType=1, # 1 for latitude/longitude AnalysisType = 1, #Purely Spatial ModelType=1, # 1 for discrete Poisson
内容的提问来源于stack exchange,提问作者Sarahk
相关产品推荐
相关产品推荐

