सबसे पहले, आप शायद round
के बजाय formatC
उपयोग करना चाहते हैं शून्य होने पर भी दो अंक प्राप्त करने के लिए। स्वीवे में ऐसा करने का कोई शानदार तरीका नहीं है; सबसे अच्छा विकल्प संभवतः एक संक्षिप्त नाम के साथ एक नया फ़ंक्शन बनाने के लिए है जो आपके इच्छित स्वरूपण करता है; जैसे
p <- function(x) {formatC(x, format="f", digits=2)}
कि कम से कम टाइपिंग का एक छोटा सा की बचत होती है कुछ: एक नया Sweave ड्राइवर के साथ के बारे में mucking बिना,
The answer is $\Sexpr{p(x)}$.
दुर्भाग्य से, मैं वहाँ क्या करने के लिए कुछ और है नहीं लगता है (शायद इस knitr
का प्रयास करने का एक और कारण है, जो तेजी से जमीन प्राप्त कर रहा है)। स्वीवे यह आपके Sexpr
कथन के अंदर क्या कर रहा है, और फिर परिणाम के साथ Sexpr
कॉल को बदल रहा है।
as.character(eval(parse(text = cmd), envir = .GlobalEnv))
हालांकि, आप केवल as.character
का नया संस्करण नहीं लिख सकते हैं; इस मुद्दे से अलग है कि यह अन्य अप्रत्याशित तरीकों से व्यवहार को बदल सकता है, नामस्थान के कारण, यह हमेशा वैश्विक वातावरण में एक और संस्करण होने पर भी base
में संस्करण को कॉल करता है।
आईएमएचओ आप इसके लिए एक [हुक] (http://yihui.name/knitr/hooks) सेट कर सकते हैं। या कोशिश करें [pander] (http://daroczig.github.com/pander/) जो स्वचालित रूप से करता है :) – daroczig
क्या आप आउटपुट को दो अंकों तक सीमित करना चाहते हैं, या आप हमेशा दो अंक चाहते हैं, भले ही वे हों शून्य ('1.00')? सबसे पहले आपको अपने पहले खंड में 'विकल्प (अंक = 2)' सेटिंग के साथ प्राप्त करने में सक्षम होना चाहिए। – vaettchen
@vaettchen: 'अंक' से' 2' सेट करने के लिए, आपको 'pi * 100'' 314' के रूप में मिलेगा जो काफी अनुमानित अनुमान है। – daroczig