2015-04-20 11 views
5

क्यों RStudio, जब .Rmd से एक .HTML संकलन, मेरे .RProfile फ़ाइल को पढ़ने की कोशिश करता है?RStudio के साथ RMarkdown संकलित: क्यों पढ़ रहा है। प्रोफाइल?

मेरा मतलब है, मैं "बुना हुआ HTML" बटन दबाता हूं, और फिर यह वास्तव में .RProfile में जो कुछ भी है, उसे निष्पादित करने का प्रयास करता है, वहां वर्णित प्रत्येक लाइब्रेरी को लोड करता है और फिर बाहरी फ़ाइलों को स्रोत करने का प्रयास करने में विफल रहता है (मेरे पास स्वयं- कोडित .RProfile में उल्लेख किया है काम करता है, source('/Users/me/.rstudio-desktop/lib/lib.stocks.R') तरह लाइनों, आदि

अभी के लिए, मैं सचमुच संकलन (बुनाई) के दौरान .RProfile घर निर्देशिका से बाहर ले जाने के लिए है, लेकिन शायद विकल्प है, या कुछ किसी तरह का होना चाहिए?

कोई सुझाव :) के लिए आभारी होंगे।


ओएस एक्स 10.8.5, RStudio संस्करण 0.98.1091

+1

मैं वास्तव में एक अच्छा जवाब नहीं है, लेकिन एक काम के आसपास हो सकता है 'अगर (इंटरैक्टिव()) {## कर सामान्य आर सत्र के लिए चीजों} else {गैर इंटरैक्टिव सत्र, यानी के लिए अन्य बातें करते हैं, knitr संकलन} 'ओह इसे अपने .prprofile में डाल दिया, उस भाग भूल गए – rawr

+0

धन्यवाद, @rawr, यह काम करता है :)। लेकिन फिर भी दिलचस्प, यह क्यों यह पहली जगह में क्या करता है ... –

+1

यकीन नहीं करता है, तो एक knitr डॉक एक ताजा आर सत्र है या यह सिर्फ एक नए माहौल बनाता है, लेकिन किसी भी तरह से आर सामान्य रूप से जो शुरू कर रहा है, तो मतलब है कि यह पढ़ें आपका .prprofile और पहले जो कुछ भी है वहां करें। मैंने सोचा था कि आप 'इंजन' विकल्प में '--vanilla' पास करने में सक्षम हो सकते हैं लेकिन ऐसा नहीं लगता है कि यह मामला है – rawr

उत्तर

3

यही कारण है क्या .Rprofile परिभाषा से करता है। जब आर शुरू होता है, तो यह इस फ़ाइल को पढ़ता है और निष्पादित करता है। RStudio आर Markdown दस्तावेज संकलित करने के लिए एक नया आर सत्र की शुरूआत, और आर सत्र .Rprofile पढ़ता है, जब तक आप यह करने के लिए नहीं (R --no-init-file या R --vanilla के माध्यम से जैसे) आर सत्र बता, लेकिन वर्तमान में आप वास्तव में नियंत्रित नहीं कर सकते कि कैसे RStudio आर सत्र की शुरूआत। मुझे लगता है कि if (interactive()) @rawr ने उल्लेख किया एक बहुत अच्छा विचार है, और क्या मैं नियमित रूप में अच्छी तरह का उपयोग करें (मैं अपने गैर-सहभागी आर सत्र "क्लीन" होना चाहता हूँ) है।

संबंधित मुद्दे