确认已加载包:
library(sampleselection)确认版本:
getNamespaceVersion("sampleselection")如果刚刚覆盖安装了新版,需要重启 R 会话。
result 是用户自己创建的变量,安装包不会自动创建。先运行:
dat <- simulate_sample_data(seed = 123)
result <- auto_sample_search(
data = dat,
y = "y",
target = "x"
)然后再输入 result。
这表示在当前模型、初始样本、处理规则和 max_adjust 下,没有方案同时满足所有目标条件。
教学中可以检查:
result$trials
format_search_results(result, successful_only = FALSE)不应仅为了得到想要的结论而在真实研究中不断放宽条件。
如果未处理回归本身已符合 goal、direction 和 p_cut,原始样本会被标记为成功方案。它的实际处理比例为 0,因此排在最前。
要查看第一个真正处理了观测的方案:
treated_successes <- result$successes[
result$successes$actual_adjust_pct > 0,
,
drop = FALSE
]
treated_successes处理数量必须是整数。例如初始样本 235 条,0.5% 对应 1.175 条,程序会向下取整为 1 条。
keep_rows 是处理规则保留的行数,N 是 fixest 最终使用的观测数。固定效应单例、完美拟合观测或其他模型层面排除可能使 N 更小。
检查列名:
names(my_data)R 变量名区分大小写。city 和 City 是两个不同的名称。
安装 haven:
install.packages("haven")也可以先手动读入数据:
my_data <- haven::read_dta("/path/to/data.dta")
result <- auto_sample_search(data = my_data, ...)log 变换只对正值有定义。函数会把零和负值转成 NA,这些观测不会进入完整回归样本。可考虑 IHS:
transforms = list(target = "ihs")控制台中的可读输出只是展示层。原始数值列仍在:
names(result$trials)
result$trials$case_id
result$trials$B
result$trials$SE
result$trials$P
result$trials$actual_adjust_pctreadable <- format_search_results(
result,
successful_only = FALSE,
digits = 6
)
View(readable)这是防止意外覆盖。换一个 prefix,换一个目录,或在确实需要覆盖时设置:
overwrite = TRUE请在 GitHub Issues 中提供:
- 最小可复现代码。
- 完整错误信息。
sessionInfo()输出。- 不包含保密数据的模拟示例。
不要把真实企业数据或其他敏感数据上传到公开 Issue。