我的目标是将重复的部分添加到 .docx 文件中,通过从数据框中拉取连续部分中的值来更改它们。使用https://cran.r-project.org/web/packages/officer/vignettes/word.html上的示例代码,我已经能够添加一个部分,但我无法弄清楚如何制作此代码在循环内工作。
这是一个最小的例子:
library(officer)
library(magrittr)
lastRow <- 10
my_doc <- read_docx() %>%
for(rowNum in 1:lastRow){
body_add_par("ID: ") %>%
if(rowNum < lastRow){
slip_in_text(paste("ID:", rowNum)) %>%
}else{
slip_in_text(paste("ID:", rowNum))
}
print(my_doc, target = "sample.docx")
以下是我在控制台中看到的错误消息:
Error: unexpected '}' in:
" slip_in_text(paste("ID:", rowNum)) %>%
}"
> slip_in_text(paste("ID:", rowNum))
Error in x$default_styles : $ operator is invalid for atomic vectors
> }
Error: unexpected '}' in "}"
很明显,问题来自于使用 %>% 运算符连接对 body_add_par 的连续调用,但我还没有找到解决方法。有没有其他人遇到过类似的问题并制定了解决方案?
谢谢。