2013-01-10 8 views
46

जब डेटा के साथ काम (जैसे, data.frame में) उपयोगकर्तालेखन.table() आउटपुट में दशमलव अंकों की संख्या को कैसे नियंत्रित करें?

options(digits=3) 

का उपयोग करने और इस तरह data.frame सूचीबद्ध करके अंक प्रदर्शित नियंत्रित कर सकते हैं।

ttf.all 

उपयोगकर्ता इस

write.table(ttf.all, 'clipboard', sep='\t',row.names=F) 

अंक पैरामीटर नजरअंदाज कर दिया है और संख्या गोल नहीं कर रहे हैं की तरह एक्सेल में डेटा पेस्ट करने की जरूरत है।

अच्छा उत्पादन देखें

> ttf.all 
    year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL 
1 2006 227 645 35.2  67 645 10.4 150 645 23.3  53 645 8.22 
2 2007 639 1645 38.8 292 1645 17.8 384 1645 23.3 137 1645 8.33 
3 2008 1531 3150 48.6 982 3150 31.2 755 3150 24.0 235 3150 7.46 
4 2009 1625 3467 46.9 1026 3467 29.6 779 3467 22.5 222 3467 6.40 

लेकिन क्या एक्सेल (क्लिपबोर्ड) में है गोल नहीं है। write.table() में कैसे नियंत्रित करें?

+10

उपयोग मदद फ़ाइल को देखने के' ... – Andrie

+2

अगर मैं सही समझ, दौर() कॉलम का समूह पर लागू किया जा करने के लिए होता है और मैं करने के लिए होगा उनको समझाओ। अंक = 3 वैश्विक है और कॉलम गणना की आवश्यकता नहीं है। तो दौर() एक आदर्श समाधान नहीं है। – userJT

उत्तर

45

आप के रूप में समारोह format() उपयोग कर सकते हैं:

write.table(format(ttf.all, digits=2), 'clipboard', sep='\t',row.names=F) 

format() एक सामान्य कार्य है कि data.frames सहित कई कक्षाएं, के लिए तरीके है। round() के विपरीत, यदि आपका डेटाफ़्रेम सभी संख्यात्मक नहीं है तो यह कोई त्रुटि नहीं फेंक देगा। `दौर() स्वरूपण विकल्प के बारे में अधिक जानकारी के लिए, के माध्यम से ?format

+3

जब मैं 'अंक = 2' और' वैज्ञानिक = एफ' दोनों का उपयोग करता हूं, तो अंकों की सेटिंग को अनदेखा किया जाता है। अगर मैं वैज्ञानिक की अनुमति देता हूं तो यह ठीक काम करता है। कोई विचार? – jzadra

+0

प्रिय मेरे मामले में प्रिय @jzadra, छोटे संख्याओं के साथ मिश्रित लंबे वैज्ञानिक संख्याओं का डेटाफ्रेम रखते हुए, मैंने आर विकल्पों में सही ढंग से देखने के लिए इन विकल्पों का उपयोग किया, साथ ही सीएसवी फ़ाइल में डेटा को सही ढंग से सहेजने के लिए, जैसा कि मैंने उन्हें आर में देखा है: 'सामान्य आर विकल्प: विकल्प (scipen = 1, अंक = 8), और write.table के लिए (प्रारूप (डेटा_टेबल, अंक = 4, वैज्ञानिक = एफ)' –

+0

किसी भी तरह से, सामान्य आर वातावरण में सेटिंग करके दशमलव की संख्या प्रदर्शित होने के लिए अंक, इसे लिखने के लिए कमांड कमांड में पास किया जाता है, जिसके परिणामस्वरूप संख्याएं दशमलव संख्याओं के बिना होती हैं! इसलिए, आपको लिखने योग्य में दशमलव अंक बढ़ाना चाहिए। –

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