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"))}"
解决步骤
- 调整代码格式拆分长行:把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") ) }
- 检查关键语法细节:
- 确认所有赋值符号是
<-,而非HTML转义的<- - 提前定义
filepath为有效路径,例如filepath <- "./output_reports" - 调用render时添加
rmarkdown::前缀,需先安装加载包:install.packages("rmarkdown"); library(rmarkdown) - 确保
Feedback.rmd在当前工作目录,或填写完整文件路径
- 排查循环数据源:
- 若
df$ID有重复值,改用unique(df$ID)避免重复生成报表
内容的提问来源于stack exchange,提问作者CYH
相关产品推荐
相关产品推荐

