我有一个如下所示的数据框:
library(dplyr)
mydf <- data_frame(headline = c('this is the first news',
'this is the second news'),
fulltext = c('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum'))
本质上,我想为每篇文章创建一个文档(
pdf
、 html
等),打印 headline
后跟 fulltext
列中的前 100 个字符。就像是
--
html/pdf
输出开始这是第一条新闻
Lorem ipsum dolor sat amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。异常(exception) sint occaecat cupidatat non proident
这是第二条新闻
Lorem ipsum dolor sat amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua。 Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。异常(exception) sint occaecat cupidatat non proident
--
html/pdf
输出结束我怎么能用
knitr
做到这一点? 最佳答案
这可以通过组合 for
循环、 cat
和块选项 results = 'asis'
来完成
---
title: "Untitled"
output: html_document
---
```{r, include = FALSE}
library(dplyr)
mydf <- data_frame(headline = c('this is the first news',
'this is the second news'),
fulltext = c('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum'))
```
```{r, echo = FALSE, results = 'asis'}
for (i in seq_len(nrow(mydf))){
cat(paste0("**", mydf[["headline"]][i], "**"))
cat("\n\n")
cat(
paste0(
gsub("\\n", "\n\n", substr(mydf[["fulltext"]][i], 1, 100), "...")
)
)
cat("\n\n")
}
```
关于r - 如何打印和组合存储在数据框中的文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46895669/