RStudio读取TSV文件异常:第二列含空格导致行拆分错误
解决TSV文件读取时第二列空格导致行拆分的问题
方案1:使用readr包的read_tsv(推荐)
readr包的读取函数对不规则换行的鲁棒性更强,能自动识别因内容含空格而被错误拆分的行:
# 安装并加载readr包 install.packages("readr") library(readr) # 读取TSV文件 neuro_subclusters <- read_tsv("https://shendure-web.gs.washington.edu/content/members/DEAP_website/public/RNA/update/neuronal_fine_scale_annotations/neuronal_subcluster_annotations.txt")
方案2:基础R的read.table设置参数
通过指定分隔符、填充缺失列等参数,强制按列数解析文件:
neuro_subclusters <- read.table( url("https://shendure-web.gs.washington.edu/content/members/DEAP_website/public/RNA/update/neuronal_fine_scale_annotations/neuronal_subcluster_annotations.txt"), sep = "\t", # 指定制表符为分隔符 header = TRUE, # 第一行作为列名 fill = TRUE, # 自动填充缺失列,处理错误换行 quote = "" # 禁用引号解析,避免干扰空格内容 )
问题说明
原代码用read.delim时,文件中第二列的双词内容被错误拆分为新行,导致read.delim将这些拆分后的行当作新的观测,引发列数不匹配的解析错误。而上述两种方法会根据文件的列数结构,自动合并被错误拆分的行,完成正确解析。
内容的提问来源于stack exchange,提问作者user27185819
相关产品推荐
相关产品推荐

