R语言write.table未生成文件但脚本执行完成求助
问题排查与解决步骤
1. 修正代码语法错误
你的write.table代码存在语法问题:file参数和路径字符串之间缺少等号,正确写法应为:
write.table(overlaps, file = "D:/Documents/GWAS/XXXXXXXX.tsv", sep = "\t")
缺少等号会导致R解析参数异常,要么直接报错,要么将路径字符串误判为其他参数(比如row.names的取值),最终文件不会写入你指定的路径。
2. 定位可能的文件位置
如果控制台显示“运行正常”,可通过以下方式查找文件:
- 执行
getwd()查看R当前工作目录,文件大概率被写入这个目录下(可能使用了默认文件名,或者参数误写导致文件名异常); - 用
list.files(getwd(), pattern = "*.tsv", full.names = TRUE)列出工作目录下所有TSV文件,检查是否有匹配的大文件; - 利用系统搜索功能,搜索文件名
XXXXXXXX.tsv,或按文件大小筛选(目标文件约10GB),重点排查C盘(若工作目录在C盘)和D盘的临时目录、默认文档目录; - 执行
file.exists("D:/Documents/GWAS/XXXXXXXX.tsv"),若返回TRUE,说明文件确实存在于该路径,可能是你遗漏了(比如文件被隐藏,或路径拼写错误,比如GWAS误写为GWA等)。
3. 验证文件是否真实生成
查看磁盘可用空间变化:对比运行代码前后D盘、C盘的剩余空间,若空间减少约10GB,说明文件已生成,只是未找到;若空间无变化,大概率代码未成功生成文件。
4. 后续操作建议
- 生成大文件前,先测试小样本:用
write.table(head(overlaps, 100), file = "test.tsv", sep = "\t")验证路径是否正确,确认文件能正常写入目标位置; - 若不需要行名,添加
row.names = FALSE参数,可大幅减小文件体积并提升写入速度。
内容的提问来源于stack exchange,提问作者LEONARDO JUAREZ ZUCCO
相关产品推荐
相关产品推荐

