R中使用stargazer导出酒店预订数据集表格输出为空是什么原因
问题成因
- 数据格式不兼容:你使用
read_csv()读取的数据集为tibble格式,stargazer包原生对tibble的适配性较差,直接传入会出现解析失败、输出为空的问题。 - 输出路径不存在:你指定的
Output/Plots/目录如果未提前创建,stargazer不会自动生成多级目录,会直接写入失败,最终生成的文件为空。 - 列类型适配失败:该酒店预订数据集包含大量字符型、因子型列,部分列缺失值占比过高,stargazer默认生成描述统计时无法适配杂糅的列类型,也会触发空输出问题。
解决方法
- 首先将tibble转换为传统data.frame格式后再传入stargazer,修改调用代码如下:
stargazer(as.data.frame(booking), type = "html", header = F, digits = 2, out = "Output/Plots/Booking_output.html")
- 提前创建输出目录,避免路径不存在导致的写入失败,在调用stargazer前执行以下代码:
dir.create("Output/Plots", recursive = TRUE, showWarnings = FALSE)
- 若仅需要数值变量的描述统计结果,可以提前筛选数据集的数值列后再传入,减少适配问题:
# 提取数据集中的所有数值列 num_booking <- booking[, sapply(booking, is.numeric)] stargazer(as.data.frame(num_booking), type = "html", header = F, digits = 2, out = "Output/Plots/Booking_output.html")
内容的提问来源于stack exchange,提问作者Ludwig B
相关产品推荐
相关产品推荐

