2015-04-20 18 views
5

Neden RStudio, .RML bir .HTML derlerken, benim .RProfile dosyam okumaya çalışır?RStudio ile RMarkdown'ı derleme: okuma neden .RProfile?

"Örme HTML" düğmesine bastığımda, daha sonra .RProfile'da sahip olduğum herşeyi yürütmeye çalışıyorum, orada belirtilen tüm kitaplıkları yükler ve sonra harici dosyaları kaynaklamaya çalışıyorum (kendimden bir demetim var) Şimdilik vb

.RProfile belirtilen fonksiyonları source('/Users/me/.rstudio-desktop/lib/lib.stocks.R') gibi çizgiler, kodlanmış, ben tam anlamıyla derleme (örgü) sırasında ev dizininden .RProfile taşımak zorunda, ama muhtemelen seçeneği, ya da bir şey bir tür olması gerekir?

Herhangi bir öneri için minnettar olurdum :). OS X 10.8.5


, .Rprofile tanım gereği yaptığı iştir RStudio Sürüm 0.98.1091

+1

Gerçekten iyi bir cevaba sahip değilim, ancak bir çalışma olabilir: eğer (etkileşimli()) {## normal r oturumu için şeyler yapın} else {etkileşimli olmayan oturumlar için başka şeyler yapın, örn. knitr derleme} 'oh bu sizin .rprofile koydu, bu bölüm unuttu – rawr

+0

Teşekkürler, @rawr, bu :) çalışır. Ama yine de ilginç, ilk etapta bunu neden yapıyor ... –

+1

bir knitr dokümanın yeni bir oturum mu, yoksa yeni bir ortam yaratıyor mu, yoksa her iki şekilde de r .rprofile ve önce orada ne varsa onu yap. '--vanilla' 'engine.opts' yığın seçeneğine geçebileceğinizi düşündüm ama durum böyle değil – rawr

cevap

3

. R başladığında, bu dosyayı okur ve yürütür. RStudio, R Markdown belgelerini derlemek için yeni bir R oturumu başlatır ve R oturumu yapmamak için R oturumunu (örneğin, R --no-init-file veya R --vanilla aracılığıyla) söylemezseniz, R oturumu .Rprofile okur, ancak şu anda RStudio'nun R oturumunu nasıl başlattığını gerçekten denetleyemezsiniz. Ben @rawr tarafından belirtilen if (interactive()) bence çok iyi bir fikir, ve rutin olarak da kullandığım (etkileşimli olmayan R oturumlarımın "temiz" olmasını istiyorum).

İlgili konular