使用compareGroups包的export2word()导出Word文件失败求助
解决compareGroups包export2word()导出文件找不到的问题
问题原因
你使用tempfile()生成的文件会被存放在系统临时目录,而非当前工作目录,所以在工作目录内找不到生成的docx文件。
具体解决办法
方法1:直接指定工作目录内的输出文件名
给file参数设置明确的文件名(或完整路径),让文件生成在可直接访问的位置:
# 在当前工作目录生成名为"TenYearCHD统计结果.docx"的文件 export2word(res, file = "TenYearCHD统计结果.docx") # Windows系统自定义路径示例 export2word(res, file = "D:/数据分析结果/TenYearCHD统计结果.docx") # macOS/Linux系统自定义路径示例 export2word(res, file = "/Users/xxx/数据分析/TenYearCHD统计结果.docx")
方法2:定位临时文件并转移(若坚持使用tempfile)
如果需要保留临时文件机制,可先获取临时文件的完整路径,再手动或自动转移到目标目录:
# 生成临时文件路径并执行导出 temp_file <- tempfile(fileext = ".docx") export2word(res, file = temp_file) # 打印临时文件的完整路径,方便直接查找 cat("临时文件位置:", temp_file, "\n") # 可选:自动复制临时文件到当前工作目录 file.copy(temp_file, file.path(getwd(), "TenYearCHD统计结果_副本.docx"))
额外排查要点
- 确认当前工作目录:执行
getwd()查看当前工作路径,避免找错文件夹 - 检查写入权限:执行
file.access(getwd(), 2),返回0表示当前目录有写入权限,返回-1则需更换有写入权限的路径 - 更新compareGroups包:旧版本可能存在导出bug,执行
update.packages("compareGroups")更新到最新版本
内容的提问来源于stack exchange,提问作者Louis
相关产品推荐
相关产品推荐

