2013-10-08 62 views
6

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

我想知道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) 
} 
+0

掷'猫(“--- \ n”)'在你的循环来创建新的幻灯片? –

+0

我会抛出'cat(“\ n \ n --- \ n”),因为分隔符在'---'之前需要一个空的换行符,所以它不会与头部混淆。 – Ramnath

+2

在该说明中,您也可以使用组合或'brew' +'slidingify'或'whisker' +'slidingify'来实现相同。今天晚些时候我会做一个简单的例子。 – Ramnath

回答

8

对于那些有兴趣,这是我迄今为止(对环+两个栏布局(如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) 
} 
```