Skip to content

Latest commit

 

History

History
148 lines (97 loc) · 3.11 KB

File metadata and controls

148 lines (97 loc) · 3.11 KB

常见问题

1. could not find function 怎么办?

确认已加载包:

library(sampleselection)

确认版本:

getNamespaceVersion("sampleselection")

如果刚刚覆盖安装了新版,需要重启 R 会话。

2. 为什么输入 result 提示对象不存在?

result 是用户自己创建的变量,安装包不会自动创建。先运行:

dat <- simulate_sample_data(seed = 123)

result <- auto_sample_search(
  data = dat,
  y = "y",
  target = "x"
)

然后再输入 result

3. 为什么没有成功方案?

这表示在当前模型、初始样本、处理规则和 max_adjust 下,没有方案同时满足所有目标条件。

教学中可以检查:

result$trials
format_search_results(result, successful_only = FALSE)

不应仅为了得到想要的结论而在真实研究中不断放宽条件。

4. 为什么原始样本是第一个成功方案?

如果未处理回归本身已符合 goaldirectionp_cut,原始样本会被标记为成功方案。它的实际处理比例为 0,因此排在最前。

要查看第一个真正处理了观测的方案:

treated_successes <- result$successes[
  result$successes$actual_adjust_pct > 0,
  ,
  drop = FALSE
]

treated_successes

5. 为什么设定比例和实际比例不完全相同?

处理数量必须是整数。例如初始样本 235 条,0.5% 对应 1.175 条,程序会向下取整为 1 条。

6. 为什么 N 小于 keep_rows

keep_rows 是处理规则保留的行数,Nfixest 最终使用的观测数。固定效应单例、完美拟合观测或其他模型层面排除可能使 N 更小。

7. 数据中找不到变量

检查列名:

names(my_data)

R 变量名区分大小写。cityCity 是两个不同的名称。

8. .dta 读取失败

安装 haven

install.packages("haven")

也可以先手动读入数据:

my_data <- haven::read_dta("/path/to/data.dta")
result <- auto_sample_search(data = my_data, ...)

9. log 变换后样本量减少

log 变换只对正值有定义。函数会把零和负值转成 NA,这些观测不会进入完整回归样本。可考虑 IHS:

transforms = list(target = "ihs")

10. 如何查看原始数值列?

控制台中的可读输出只是展示层。原始数值列仍在:

names(result$trials)

result$trials$case_id
result$trials$B
result$trials$SE
result$trials$P
result$trials$actual_adjust_pct

11. 如何生成中文整洁表?

readable <- format_search_results(
  result,
  successful_only = FALSE,
  digits = 6
)

View(readable)

12. 导出时提示文件已存在

这是防止意外覆盖。换一个 prefix,换一个目录,或在确实需要覆盖时设置:

overwrite = TRUE

13. 如何报告问题?

请在 GitHub Issues 中提供:

  1. 最小可复现代码。
  2. 完整错误信息。
  3. sessionInfo() 输出。
  4. 不包含保密数据的模拟示例。

不要把真实企业数据或其他敏感数据上传到公开 Issue。