两次调用read_tsv读取特定TSV文件导致R崩溃的问题求助
两次调用read_tsv读取特定TSV文件导致R崩溃的问题求助
我正在尝试从大量TSV文本文件生成一个tibble,具体操作步骤如下:
- 先创建了一个包含所有目标文件路径的列表,命名为
text_files - 接着通过循环遍历这个列表,把每个文件的数据合并到同一个数据框中,代码如下:
for (file_path in text_files) { # 读取TSV文件 tibble <- read_tsv(file_path, col_names = TRUE) # 提取文件名 file_name <- basename(file_path) # 给tibble添加文件名列 tibble$file_name <- file_name # 将当前tibble合并到总数据框 all_data <- bind_rows(all_data, tibble) }
今年2月的时候这个脚本还能正常运行,但现在一运行就会崩溃,抛出致命错误。
我已经排查出问题出在read_tsv函数上,因为仅运行以下测试代码就会导致崩溃:
file_path <- text_files[[1]] tibble <- read_tsv(file_path, col_names = TRUE) file_path <- text_files[[2]] tibble <- read_tsv(file_path, col_names = TRUE)
更具体的触发条件是:只有读取特定的文件才会出问题——那些只有1行数据的TSV文件读取完全正常,但读取有9行数据的文件时,如果之前已经读取过另一个9行数据的文件,R就会崩溃。现在甚至有时候第一次读取这类9行数据的文件就会直接崩溃。
我试过把file_path和tibble这些变量重命名,有一次成功运行了,但这个方法无法稳定复现。
有没有人知道这是什么问题,以及怎么修复它,让我能顺利读取所有数据?
备注:内容来源于stack exchange,提问作者Zoe
相关产品推荐
相关产品推荐

