2012-12-29 9 views
11

के लिए स्वचालित पाठ डेटा को साफ करने, चर बनाने, परिणामों का विश्लेषण करने और परिणामों की रिपोर्ट करने के लिए मैं RStudio, R Markdown, Latex, और Pandoc का उपयोग कर रहा हूं। मैं पुनरुत्पादित शोध की अवधारणा के लिए नया हूं, लेकिन मुझे लगाया गया है। इसमें काफी सार्थकता है।पुनरुत्पादित अनुसंधान

गतिशील तालिकाओं और आंकड़े कोई समस्या नहीं हैं। गतिशील पाठ, हालांकि, मुझे रोक रहा है। मैं इनलाइन कोड डालने के लिए कह सकता हूं कि सभी आंकड़ों का 9 5% झूठा है, लेकिन मुझे यकीन नहीं है कि मैं अपनी भाषा को पुनरुत्पादित तरीके से कैसे बदल सकता हूं।

उदाहरण के लिए, यदि मेरे पास ऑब्जेक्ट x = 0.66 है और मैं "3 में से 2 दंत चिकित्सकों का उपयोग क्रेस्ट" लिखना चाहता हूं? मैं x, 0.66 के वर्तमान मान को देख सकता हूं, और टेक्स्ट में "3 में से 2" टाइप कर सकता हूं, लेकिन यह पुन: उत्पन्न नहीं होता है। मान लें कि मुझे नया डेटा मिलता है और मेरा विश्लेषण दोबारा शुरू होता है और एक्स 0.52 हो जाता है। मेरा पाठ पुराना हो जाएगा। निश्चित रूप से, मैं गतिशील रूप से रिपोर्ट कर सकता हूं कि 52% दंत चिकित्सक क्रेस्ट पसंद करते हैं, लेकिन जब रिपोर्ट सब कुछ प्रतिशत के रूप में रिपोर्ट की जाती है तो एक रिपोर्ट बेकार हो जाती है।

मेरा विचार यह है कि मैं उन कार्यों को बना सकता हूं जिन्हें मैं पाठ में कॉल कर सकता हूं जब मैं लेखन को बदलना चाहता हूं। उदाहरण के लिए, एक "out.of" समारोह पर काम कर सकता है, तो किसी और बयान पाठ का उत्पादन करने के:

ifelse(x < 0.09,"fewer than 1 out of 10", 
ifelse(x >= 0.09) & x < 0.11,"roughly 1 out of 10", 
ifelse(x >= 0.11 & x < 0.15,"slightly more than 1 out of 10", 
ifelse(x >= 0.15 & x < 0.19,"nearly 2 out of 5", 
ifelse(x >= 0.19 & x < 0.21,"roughly 2 out of 5", 
... 
ifelse(x >= 0.95 & x < 0.99,"nearly all", 
ifelse(x >= 0.99,"all","fubar"))...) 

मैं भी एक अंश समारोह है कि दसवां, दो बटा पांच के लिए कुछ इसी तरह करना होगा बना सकते हैं, एक - तीसरा ...

मुझे यकीन है कि दूसरों ने पहले से ही इस मुद्दे का सामना किया है। कोई लीड? विचार?

+0

यह वास्तव में एक दिलचस्प सवाल है, लेकिन मुझे लगता है कि यह वास्तव में पठनीयता के लिए आपकी सीमाओं पर निर्भर करेगा। उदाहरण के लिए, क्या आप मान्य विकल्पों के लिए "20 में से 1" या "25 में से 1" पर विचार करते हैं? आप अधिक सामान्य ब्रेक के लिए क्या सीमा तय करना चाहते हैं (जैसे "5 में से 2")? एक बार यह हल हो जाने के बाद, मैं 'कट()' की कोशिश करने और 'ifelse()' के बजाय लेबल निर्दिष्ट करने का सुझाव दूंगा। मुझे नहीं लगता कि कोई भी पैकेज आपके लिए ऐसा करेगा, लेकिन उन्हें वहां पहुंचने में आपकी मदद करनी चाहिए! – A5C1D2H2I1M1N2O1R2T1

+0

जब प्रतिशत का प्रतिनिधित्व करने की बात आती है, तो मुझे लगता है कि "10 में से" सबसे कम मैं जाना चाहता हूं। मैंने इस साल आर का एक टन सीखा है (शून्य की आधार रेखा से), लेकिन कट नहीं()। इसमें देखेंगे। धन्यवाद। –

+0

तो आपको यह पता लगाना होगा कि "आउट ऑफ़" श्रेणियां सबसे उपयोगी हैं। "9: 8, 7, 6} से बाहर" जैसी श्रेणियां बहुत उपयोगकर्ता के अनुकूल नहीं हो सकती हैं क्योंकि इससे कुछ पाठकों को कर दिया जाएगा जो मानसिक रूप से उन संख्याओं को प्रतिशत में परिवर्तित करने का प्रयास करते हैं। सौभाग्य! – A5C1D2H2I1M1N2O1R2T1

उत्तर

7

पैकेज पैकेज है और जब आप "बाहर" से प्रतिस्थापित करते हैं, तो यह काम कर सकता है। हालांकि, उत्पादन जब दशमलव की संख्या का उपयोग कर अजीब है:

library(FRACTION) 
fra(0.66,j=2) 
# [1] "33/50" 
fra(0.66,j=1) 
#"7/1e+08" 

संपादित @Dieter Menne द्वारा: इस भूल जाते हैं, नीचे @Ben Bolker देखते हैं।

+5

आप इसे 'MASS :: fractions' के साथ प्राप्त करने में सक्षम हो सकते हैं:' अंश (0.66, चक्र = 3) '(और' MASS' पहले ही अनुशंसित है) –

+0

क्र ... मुझे पता होना चाहिए था, लेकिन बस याद नहीं है कि इसे कहां मिलना है। –

+0

महान, @ बेनबोल्कर –

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