对象上的R重复函数
我正在尝试使用officer将图像添加到Word文档中。我有一个完整的目录的图像,我想循环通过价值。我遇到的问题是,我需要将图像添加到文档中,然后将下一个图像添加到我刚刚通过添加最后一个图像创建的新创建的文档中 下面是一个没有循环或函数的代码示例:对象上的R重复函数,r,loops,officer,R,Loops,Officer,我正在尝试使用officer将图像添加到Word文档中。我有一个完整的目录的图像,我想循环通过价值。我遇到的问题是,我需要将图像添加到文档中,然后将下一个图像添加到我刚刚通过添加最后一个图像创建的新创建的文档中 下面是一个没有循环或函数的代码示例: library(magrittr) library(officer) read_docx() %>% # create document body_add_img("img1.png", width = 3, heigh
library(magrittr)
library(officer)
read_docx() %>% # create document
body_add_img("img1.png", width = 3, height = 4) %>% # add image
body_add_img("img2.png", width = 3, height = 4) %>% # add image
body_add_img("img3.png", width = 3, height = 4) %>% # add image
print(target = "samp.docx") # write document
在这种情况下,使用map和lappy不起作用,因为每次迭代都需要返回上一次迭代的对象。我试着用for循环编写一个函数,但我认为我做得太离谱了。任何帮助和指点都将不胜感激。我想您可以在这里使用reduce。例如,使用一点purrr
reduce不断地将结果反馈回自身。我认为您可以在这里使用reduce。例如,使用一点purrr
reduce不断地将结果反馈回自身。我不确定您对for循环的尝试是什么,但是这个简单的循环似乎起作用了
library(officer)
data <- read_docx()
image_list <- paste0('img', 1:3, '.png')
for(i in image_list) {
data <- body_add_img(data, i, width = 3, height = 4)
}
print(data, target = "samp.docx")
我不确定您对for循环的尝试是什么,但这个简单的循环似乎有效
library(officer)
data <- read_docx()
image_list <- paste0('img', 1:3, '.png')
for(i in image_list) {
data <- body_add_img(data, i, width = 3, height = 4)
}
print(data, target = "samp.docx")
看看purr::reduce?它允许每个迭代对前一个迭代的输出进行操作。不断添加到同一对象的for循环也应该可以工作?它允许每个迭代对前一个迭代的输出进行操作。在同一个对象中不断添加内容的for循环也应该起作用。