【问题标题】:R Generate slides in slidify presentation in a loopR在循环中生成幻灯片
【发布时间】:2013-10-15 15:35:06
【问题描述】:

我想使用slidify package 创建 N 个幻灯片来报告 N 个(大)数据子集的描述性统计信息。在之前的讨论中,Create parametric R markdown documentation? 建议结合使用 brewknitr 来实现这一点。

我想知道slidify 是否有针对此类任务的解决方法?我想通过数据迭代来填充幻灯片比纯文本更合乎逻辑......

一个最小的例子(从上面的问题,我需要幻灯片而不是段落)

```{r loopResults, echo=FALSE, results='asis'}
results = list(result1 = data.frame(x=rnorm(3), y=rnorm(3)), result2=data.frame(x=rnorm(3), y=rnorm(3)))

for(res in names(results)) {
  cat(paste("<h3>Results for: ", res, "</h3>>"))

  plot(results[[res]]$x, results[[res]]$y)
}

【问题讨论】:

  • 在循环中添加cat("---\n") 以创建新幻灯片?
  • 我会抛出 cat("\n\n---\n"), since the separator expects an empty newline before the ---` 这样它就不会与标题混淆。
  • 请注意,您也可以使用组合或brew + slidifywhisker + slidify 来实现相同的目的。今天晚些时候我会做一个最小的例子。
  • 谢谢,我是markdown语言的新手,非常感谢这个例子

标签: r markdown r-markdown slidify


【解决方案1】:

对于那些感兴趣的人,这是我目前所拥有的(for-loop + 两列布局(如here)))

---
title: Loop test
widgets: [bootstrap, quiz]
---
## Simplest Example##

```{r echo = F, fig.width = 12, fig.height = 7,  results='asis'}
library(data.table)
data <- as.data.table(list(days = 1:100, revenue = runif(10, 1, 100), profit = runif(10, 1, 10), department = factor(sample(letters[1:3]))))
for(j in levels(data$department)) {
dataj <-  data[data$department == j,]    
cat("\n\n--- &twocol\n")
cat(paste("\n\n## Department: ", j, "##\n")  )  
cat("\n*** left\n")
cat(paste("\nMean profit = ", round(mean(dataj$profit)), "\n")) 
cat(paste("\nMean revenue = ", round(min(dataj$revenue))), "\n")

cat("\n*** right\n\n")
z<-ggplot(data = dataj ) +
geom_density(aes(x = profit), alpha = 0.3) +
geom_density(aes(x = revenue), alpha = 0.3) 
print(z)
} 
```

【讨论】:

    猜你喜欢
    • 2013-07-27
    • 1970-01-01
    • 2011-01-18
    • 2012-09-19
    • 2012-08-11
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多