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

R语言报错:arguments imply differing number of rows:163153,0求解

问题解决:R语言主题建模导入数据时行数不匹配报错

报错核心原因

这个报错本质是:row.names(review)对应163153行数据,但review$English.title返回的是长度为0的向量——也就是说你代码里引用的English.title列,根本不存在于读进来的review数据框中。

排查与解决步骤

  • 第一步:确认数据实际列名
    先运行以下代码,查看读进来的数据结构和列名:

    # 输出所有列名
    names(review)
    # 查看数据前5行内容
    head(review, 5)
    

    你大概率会发现,实际列名和你写的English.title不一致:比如Excel里的列名是English Title(带空格)、english_title(全小写),或者导出csv时列名被自动修改了。

  • 第二步:修正列名引用
    如果列名带空格(比如English Title),要用反引号包裹列名来引用:

    df_title <- data.frame(doc_id = row.names(review),
                           text = review$`English Title`,
                           stringsAsFactors = F)
    

    如果是其他列名形式,直接替换成对应名称即可。

  • 第三步:检查csv文件格式
    如果列名没问题但仍读不到数据,检查Excel导出的csv文件:

    • 确认是逗号分隔的标准csv,如果是制表符分隔的文件,要在read.csv里指定分隔符:read.csv(txtpath, sep="\t", stringsAsFactors=F)
    • 确认文件第一行是列名,如果没有列名,要添加header=FALSE参数并手动命名:
      review <- read.csv(txtpath, header=FALSE, stringsAsFactors=F)
      # 手动给列命名,根据实际数据调整
      colnames(review) <- c("ID", "English.title")
      

修正后示例代码

library(tm)
library(SnowballC)

txtpath <- file.path("你的文件路径")

# 读取数据
review <- read.csv(txtpath, stringsAsFactors = F)

# 先确认列名
cat("数据列名:\n")
print(names(review))

# 使用正确的列名创建df_title
df_title <- data.frame(doc_id = row.names(review),
                       text = review$`English Title`, # 替换为你实际的列名
                       stringsAsFactors = F)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:11:07