首先,我必须承认我对knitr和可重复分析的概念非常陌生,但我可以看到它在改进我当前工作流程方面的潜力(其中包括很多复制粘贴到word文档中).
我经常需要按组(本例中的医院)生成多个报告,并且在每个医院内,可能有许多不同的病房,我正在报告结果.以前我使用循环在R中运行我的所有绘图和分析,然后开始复制/粘贴工作; 但是,在阅读这篇文章后(Can Sweave会自动生成许多pdf文件?),它让我希望我实际上可以跳过很多步骤,直接从R通过Rnw/knitr报告.
然而,在尝试之后,我发现有一些东西不能完全解决(因为Rnw中的R环境似乎没有识别出我试图传递给它的循环变量?).
## make my data
Hospital <- c(rep("A", 20), rep("B", 20))
Ward <- rep(c(rep("ICU", 10), rep("Medicine", 10)), 2)
Month <- rep(seq(1:10), 4)
Outcomes <- rnorm(40, 20, 5)
df <- data.frame(Hospital, Ward, Month, Outcomes)
## Here is my current work flow-- produce all plots, but export as png and cut/paste
for(hosp in unique(df$Hospital)){
subgroup <- df[ df$Hospital == hosp,]
for(ward in unique(subgroup$Ward)){
subgroup2 <- subgroup[subgroup$Ward == ward,]
savename <- paste(hosp, ward)
plot(subgroup2$Month, subgroup2$Outcomes, type="o", main=paste("Trend …
Run Code Online (Sandbox Code Playgroud) 假设x
我当前会话中有一个对象:
x <- 1
Run Code Online (Sandbox Code Playgroud)
如何在Sweave或knitr文档中使用此对象,而无需明确指定它:
\documentclass{article}
\begin{document}
<<>>=
print(x)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
我问的原因是因为我想写一个R脚本导入数据,然后使用Sweave模板为每个主题生成一个报告.