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

R语言新手求助:循环代码出现unexpected '}' 报错无法解决

R循环生成RMD报表报错解决

问题代码

for (id in (df$ID)){
        subgroup <- df[df$ID == id,]
        render("Feedback.rmd", output_dir = filepath, output_file = paste0(id, "_CMA1_22-23", ".doc"))}

报错信息

Error: unexpected '}' in "        render("Feedback.rmd", output_dir = filepath, output_file = paste0(id, "_CMA1_22-23", ".doc"))}"

解决步骤

  1. 调整代码格式拆分长行:把render函数参数分行书写,循环闭合符}单独换行,避免语法解析混淆:
for (id in df$ID) {
  subgroup <- df[df$ID == id, ]
  rmarkdown::render(
    "Feedback.rmd", 
    output_dir = filepath, 
    output_file = paste0(id, "_CMA1_22-23", ".doc")
  )
}
  1. 检查关键语法细节:
  • 确认所有赋值符号是<-,而非HTML转义的&lt;-
  • 提前定义filepath为有效路径,例如filepath <- "./output_reports"
  • 调用render时添加rmarkdown::前缀,需先安装加载包:install.packages("rmarkdown"); library(rmarkdown)
  • 确保Feedback.rmd在当前工作目录,或填写完整文件路径
  1. 排查循环数据源:
  • 若df$ID有重复值,改用unique(df$ID)避免重复生成报表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:50:50