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

R调用read.table时报'file' must be a character string or connection错误如何解决

R读取数据表报错问题解决方案

错误原因

read.table函数的第一个入参要求为本地文件路径字符串/文件连接对象,你此处的使用逻辑错误:

  • 执行newFile <- read.table("Nameofdataset.txt")后,newFile已经是加载到R运行环境中的数据框对象,不是文件路径
  • 无论你直接传newFile变量、还是给变量名加引号传字符串"newFile",都不符合入参要求:前者传入的是数据框类型不符合要求,后者会让read.table尝试在工作目录中查找名为newFile的文件,自然找不到对应资源报错。

解决方法

根据你的实际需求选择对应方案:

方案1:重新读取原始文件调整读取参数

直接传入原始文件路径即可,无需经过newFile中转:

newDat <- read.table("Nameofdataset.txt", header=TRUE, sep=",", stringsAsFactors=FALSE, strip.white=TRUE)

方案2:基于已读取的newFile对象调整数据结构

不需要重复调用read.table,直接对已有数据框做处理即可,以下是对应你原参数需求的处理示例:

# 提取第一行作为表头
colnames(newFile) <- as.character(newFile[1,])
# 移除表头行
newDat <- newFile[-1,]
# 去除所有字符列的前后空格、关闭因子转换
newDat <- as.data.frame(
  lapply(newDat, function(col) if(is.character(col)) trimws(col) else col),
  stringsAsFactors = FALSE
)

内容的提问来源于stack exchange,提问作者ayesha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:54:00