आपका प्रारंभिक विचार लगभग सही था, केवल नियमित अभिव्यक्ति गलत थी, क्योंकि .
किसी भी प्रतीक से मेल खाता है। आप और की तरह (यह एक चरित्र वेक्टर के लिए सांख्यिक वेक्टर परिवर्तित कर देंगे) कुछ
df$a <- gsub("\\.", ",", df$a)
इसके अलावा, आप, आर मुद्रण से उत्पादन को बदल सकते हैं की साजिश रचने as.character समारोह की कार्रवाई की जरूरत है। आप के साथ अपनी डिफ़ॉल्ट से इसे बदल:
options(OutDec= ",")
और एक और विकल्प format
समारोह का उपयोग कर रहा है।
format(df, decimal.mark=",")
मुझे लगता है कि आप, कैसे संख्या (उत्पादन) मुद्रित कर रहे हैं के बारे में परवाह है क्योंकि आंतरिक रूप से सांख्यिक एक डबल परिशुद्धता चल बिन्दु संख्या (अद्यतन धन्यवाद @digemall द्वारा टिप्पणी करने के लिए) के रूप में संग्रहीत किया जाता है। जब तक कि read.table
जैसे कुछ फ़ंक्शन के लिए यह विशेष रूप से निर्दिष्ट किया गया है कि दशमलव विभाजक ,
है, अन्यथा ऐसा करना संभव नहीं है, क्योंकि डिफ़ॉल्ट रूप से ,
फ़ंक्शन तर्कों को अलग करने के लिए उपयोग किया जाता है।
और NA
ठीक उसी कारण से शुरू किया गया है (गलत रेगेक्स से अलग)।
df$a <- as.numeric(gsub("\\.", ",", df$a))
डिफ़ॉल्ट पार्सर तक पता नहीं है कि ,
एक दशमलव विभाजक के रूप में इस्तेमाल किया जाता है।
स्रोत
2014-11-26 20:34:44
क्या आपका मतलब है कि आप अभी भी संख्यात्मक मान चाहते हैं, लेकिन आप '' 'होना चाहते हैं,'? –
बिल्कुल। क्या यह संभव है? –
फिनिश (फिनलैंड)। और दशमलव विभाजक अल्पविराम है। –