You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用read.table导入|分隔的TXT数据到R时报错的解决方法求助

报错核心原因

你出现报错的根本原因是代码中错误嵌套了source()函数,和列内的逗号、空格没有任何关系。
source()是R中用于执行指定路径下R脚本的函数,你将source(file.choose())传给read.table的file参数时,R会先尝试把你选中的txt文件作为R代码执行,自然会把txt里的非R语法内容(逗号、空格分隔的字符串等)判定为语法错误,抛出你看到的报错信息。
你列内的逗号、空格都属于合法的列内容,不需要提前清理,只要读取函数配置正确就能正常识别。

修复方法
  1. 直接修正读取代码即可,不需要修改原始数据文件:
pc <- read.table(
  file = file.choose(),
  header = FALSE,
  sep = "|",
  quote = "",
  fill = TRUE,
  stringsAsFactors = FALSE
)

补充参数说明:

  • quote = "":声明数据中没有包裹字符串的特殊引号,避免R误判列边界
  • fill = TRUE:自动填充行缺失的列,避免因部分行列数不一致报错
  • stringsAsFactors = FALSE:避免把字符串类的列自动转为因子类型,方便后续处理
  1. 如果数据文件体积较大,也可以使用readr包的read_delim函数,读取效率和兼容性更高:
library(readr)
pc <- read_delim(
  file = file.choose(),
  delim = "|",
  col_names = FALSE
)

内容的提问来源于stack exchange,提问作者E.T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 00:54:00