在循环中创建Word文档最简单的方法是什么?我对R-markdown和用R处理文本还比较陌生,所以我希望有下面的简单方法:
我有一个用户数据集,我必须为每个用户创建单独的页面/文档。例如,用户:
df <- data.frame(name = c("Amy", "Bob", "Chloe", "Dan"),
age = c(20, 35, 26, 41),
country = c("USA", "UK", "FR", "AU"))
我也有预定义的文本:
text <- c("Name: ",
"Age: ",
"Country: ")
我想知道是否有任何简单的方法来循环通过名称(行)在df中产生Word页面(而不是在表中)每个人像下面:
姓名:艾米
年龄:20岁
国家:美国
我试过使用R降价解决方案,如这里Use loop to generate section of text in rmarkdown和它的工作,直到我添加军官库(不知道为什么它不工作在我的电脑上,无论什么),所以我尝试了类似下面的东西:
for (i in seq(nrow(df))){
current <- df[i,]
current_value <- c(current$name,current$age, current$country)
df_text <- data.frame(text, current_value)
cat("\n\\pagebreak\n")
}
但是输出是在一行中,有df_text标题和行号。我想以后在文本格式上工作,所以我想知道是否有一个简单的方法来做到这一点?(实际数据可能多达100个docx页面/文件)。
1条答案
按热度按时间xzv2uavs1#
文件
1.一个月一个月
2.
print_asis.R
这是用于MS-Word分页的。
3.
data.csv
4.
Multipage_MSWord_Doc.Rmd
该文件的内容分五部分(一个YAML头,加上四个块)描述如下:
如何运作
RMarkdown模板,
Multipage_MSWord_Doc.Rmd
从
CONFIG_FILE
和DATA_FILE
,然后创建
PAGE_TEMPLATE
和BODY_TEMPLATE
。PAGE_TEMPLATE
使用DATA_FILE
中的标题,因此可以随意添加字段或更改字段的名称。YAML标头
请注意,您必须编辑标题中的PATH,以指向您保存数据和配置文件的目录。
第一块
第一个区块定位所有文件并读取输入数据