में htmlTable पैकेज में मैं base::interactive
का उपयोग कर रहा हूं ताकि यह निर्धारित किया जा सके कि आउटपुट को स्ट्रिंग या ब्राउज़र विंडो में आउटपुट किया जाना चाहिए (यहां code है)। दुर्भाग्यवश interactive()
TRUE
RStudio notebook के भीतर चलते समय, नोटबुक के भीतर निष्पादन वातावरण को निर्धारित करने का समतुल्य तरीका क्या है?निर्धारित करें कि स्क्रिप्ट एक RStudio नोटबुक
मैंने ls()
और search()
को आजमाया है लेकिन वे पर्यावरण की परवाह किए बिना समान दिखते हैं। मेरे पास knit_print.htmlTable
एस 3 फ़ंक्शन भी है जिसे default for knitr दस्तावेज़ों द्वारा बुलाया जाता है लेकिन यह नोटबुक वातावरण में इसे ठीक से नहीं लग रहा है।
prIsNotebook <- function() {
if (!rstudioapi::isAvailable()) {
return(FALSE)
}
ctxt <- rstudioapi::getActiveDocumentContext()
if (grepl("\\.Rmd$", ctxt$path)) {
return(TRUE)
}
# Look for html_notebook within the header if the file hasn't been saved
contents <- ctxt$contents
header <- grep("^---$", contents)
if (length(header) == 2) {
return(any(grepl("html_notebook$",
contents[min(header) : max(header)])))
}
return(FALSE)
}
मैं एक की तुलना में एक हैक के इस अधिक के बाद से जवाब के रूप में यह जांच नहीं करेगा:
देखें कि क्या परीक्षण 'knitr :: opts_current $ get (' results ') '' NULL' नहीं है। यह एक नोटबुक या आर मार्कडाउन संदर्भ में सेट है लेकिन एक सादे स्क्रिप्ट संदर्भ में नहीं (कम से कम मेरे सिस्टम पर)। – hrbrmstr
@hrbrmstr धन्यवाद, दुर्भाग्यवश यह सिर्फ एक हिस्सा चलते समय काम नहीं कर रहा है। आदर्श रूप में मैं RStudio से पैकेज रखरखाव के लिए कुछ आधिकारिक चाहता हूं लेकिन मैं कुछ और उपयोगी नहीं ढूंढ पाया। –
एचआरएम। मैंने इसे सिर्फ एक हिस्से में भाग लिया और यह मेरे लिए ठीक काम किया। – hrbrmstr