2016-05-10 3 views
1

sweavelatexrに設定してpdfを作成しています。私はMCMCメソッドのためにrjagsを実行しています。これらのモデルの実行には、収束するまでに約1時間かかります。 sweaveコードを実行してpdfをコンパイルするたびに、jagsモデルもすべて再実行されます。これにより、pdfをコンパイルするのに1時間かかると、小さな構文エラーを苦痛にさせているかどうかを編集して調べることができます。 jagsコードで生成されたすべての変数は保持しますが、毎回sweaveを評価する必要はありません。 データは、ここで見つけることができます:あなたは、私は24個の異なるモデルを作成しています見ることができるようにここでhttps://uwyo-files.instructure.com/courses/481850/files/36253354/course%20files/project4_genomebinom/chrgc.txt?download=1&inline=1&sf_verifier=ea3569eec1ca938fad4122a92e35ff57&ts=1462863980&user_id=569842いつでもrjagsを実行することなくSweaveでラテックス文書をコンパイルするには?

は、いくつかのサンプルコード

\documentclass[12pt, letterpaper]{article} 
\begin{document} 

<<computation,results=hide>>= 
humangc <- read.csv("c:\\temp\\RtmpYpMfSP\\data15a4519241c1") 
chr<-substr(humangc$chr, 4, 8) 
chr[chr=='X']<-23 
chr[chr=='Y']<-24 
chr<-as.numeric(chr) 
humangc<-data.frame(humangc[,-1], chr=chr) 
humangc<-humangc[order(humangc$chr, humangc$bp),] ### reorder data by chr 

## drop NA data and blocks with fewer than 100000 (10%) valid data 
humangc<-humangc[!is.na(humangc$valid) & humangc$valid > 100000,] 


### hierarchical Bayesian model in JAGS 
bin.beta.beta<-" 
model{ 
for(i in 1:bins){ 
gc[i] ~ dbinom(p[i], n[i]) 
p[i] ~ dbeta(chrgc * chrprec, (1-chrgc)*chrprec) 
} 

chrgc ~ dbeta(1,1) ## chrgc is same as pi 
chrprec ~ dunif(0.001,10000) ## chrprec is same as theta 
} 
" 
require(rjags) 

for(i in 1:24){ 
data.jags<-list(gc=humangc$gc[humangc$chr==i], 
       n=humangc$valid[humangc$chr==i], 
       bins=length(humangc$gc[humangc$chr==i])) 

mod.jags<- jags.model(textConnection(bin.beta.beta),data=data.jags,n.chains=3,n.adapt=1000) 

mod.samples<-jags.samples(model=mod.jags, variable.names=c("chrgc", "chrprec"), n.iter=5000,thin=2) 
### summarize quantiles of beta and p-values of empirical obs from Beta 

gcest<-NULL 

gcest$q<-qbeta(c(0.025, 0.5, 0.975), 
       mean(mod.samples$chrprec[1,,] * mod.samples$chrgc[1,,]), 
       mean(mod.samples$chrprec[1,,] * (1-mod.samples$chrgc[1,,]))) 
gcest$p<-pbeta(humangc$perc[humangc$chr==i], 
       mean(mod.samples$chrprec[1,,] * mod.samples$chrgc[1,,]), 
       mean(mod.samples$chrprec[1,,] * (1-mod.samples$chrgc[1,,]))) 
gcest$perc <- humangc$perc[humangc$chr==i] 
gcest$bp <- humangc$bp[humangc$chr==i] 
## write workspace for chromosome to disk 
save.image(paste("Rworkspace_chr", i, sep="")) 
    } 
@ 


<<echo=F, fig=T, include=F>>= 
update(mod.jags) 
require(coda) 
params <- c("chrgc", "chrprec") 
samps <- coda.samples(mod.jags, params, n.iter = 2000) 
plot(samps) 
@ 
SOME TRIVIAL TEXT!!!!!! 
end{document} 

です。それは少し時間がかかります。どのように私は "SOME TRIVIAL TEXT !!!!!!!" jagsによって作成された変数が必要な場合、私はpdfをコンパイルするとすぐに表示されますか?

enter image description here

上記工程は、時間がかかります。

答えて

1

cacheチャンクオプションをご覧ください。チャンクの結果は、初めてRデータベースファイルで実行されるときに格納できます。再度実行すると、キャッシュされたチャンクはスキップされます。可能なもののより完全な説明はhereで見つけることができます。

+0

これは、Sweaveオプションではなく、ニットオプションですが、それでも良いアドバイスです。マックスウェルはknitrの使用に切り替えるべきです。 – user2554330

+0

申し訳ありませんが、私はknitrとSweaveの間の線がどこにあるかを忘れています。 knitrで処理されていてもR StudioでSweaveと呼ばれている文書は役に立ちません。 – jamieRowen

関連する問題