2013-02-27 26 views
8

मैं आर प्रोग्रामिंग में नया हूँ और मैं आर में एक पाठ फ़ाइलपढ़ना संख्या

स्तंभों में से एक का कहना है कि स्तंभ 7 संख्यात्मक है की सुविधा देता है और प्रत्येक संख्या को पढ़ने के लिए एक आईडी प्रतिनिधित्व करते हैं मैं आर पढ़ना चाहते हैं चाहते हैं संख्याएं जैसे कि वे तार थे। और कई बार की संख्या प्रत्येक आईडी फ़ाइल में दिखाई गिनती (जैसे कि बाद में मैं बाद में उपयोग के लिए दी गई ID के लिए प्रत्येक आईडी की आवृत्ति प्रदान कर सकते हैं) मैं

mydata<-(read.table(filename.txt)) 
ID=mydata[7] 
freq=table(ID) 

यह काम करता है की कोशिश की है, लेकिन यह आईडी लेता है संख्या के रूप में। अब मैं

freq=table(as.character(ID)) 

की कोशिश की है लेकिन फिर यह मैं

Number of cases in table: 1 
Number of factors: 1 
+0

स्वरूपित और जोड़ा गया 'आर'' आर' मिल सकता है। –

+0

@ जुलिएउस तो 'आर' और' आर 'समान हैं? –

+0

@GrijeshChauhan, मैं कहूंगा कि इसे आर कॉल करना अधिक आम है, लेकिन यहां 'आर' टैग सही था। – Julius

उत्तर

2

प्राप्त केवल एक स्ट्रिंग के रूप में और

summary(freq) 

से पूरे स्तंभ आईडी लेता है मुझे लगता है कि आप अपने dataframe में अल्पविराम याद किया ।

mydata<-(read.table(filename.txt)) 
ID=mydata[,7] #added comma 
freq=table(as.character(ID)) 
9
पाठ फ़ाइल से अपने डेटा फ्रेम में डेटा को पढ़ने के आप colClasses तर्क का उपयोग प्रत्येक स्तंभ के प्रकार निर्दिष्ट कर सकते हैं के समय

> head(read.csv("R/Data/ZipcodeCount.csv")) 
    X zipcode stateabb countyno countyname 
1 1  401  NY  119 WESTCHESTER 
2 391  501  NY  103  SUFFOLK 
3 392  544  NY  103  SUFFOLK 
4 393  601  PR  1 ADJUNTAS 
5 630  602  PR  3  AGUADA 
6 957  603  PR  5 AGUADILLA 
> head(read.csv("R/Data/ZipcodeCount.csv",colClasses=c(rep("factor",5)))) 
    X zipcode stateabb countyno countyname 
1 1 00401  NY  119 WESTCHESTER 
2 391 00501  NY  103  SUFFOLK 
3 392 00544  NY  103  SUFFOLK 
4 393 00601  PR  001 ADJUNTAS 
5 630 00602  PR  003  AGUADA 
6 957 00603  PR  005 AGUADILLA 

> zip<-read.csv("R/Data/ZipcodeCount.csv",colClasses=c(rep("factor",5))) 
> str(zip) 
'data.frame': 53424 obs. of 5 variables: 
$ X   : Factor w/ 53424 levels "1","10000081",..: 1 36316 36333 36346 43638 52311 19581 23775 26481 26858 ... 
$ zipcode : Factor w/ 41174 levels "00401","00501",..: 1 2 3 4 5 6 6 7 8 9 ... 
$ stateabb : Factor w/ 60 levels ""," ","AK","AL",..: 41 41 41 46 46 46 46 46 46 46 ... 
$ countyno : Factor w/ 380 levels "","000","001",..: 106 95 95 3 5 7 5 7 7 9 ... 
$ countyname: Factor w/ 1925 levels "","ABBEVILLE",..: 1844 1662 1662 9 10 11 10 11 11 12 ... 
> head(table(zip[,"zipcode"])) 

00401 00501 00544 00601 00602 00603 
    1  1  1  1  1  2 

के रूप में आप आर नहीं रह गया है संख्या के रूप में लेकिन कारकों के रूप में zipcodes इलाज है देख सकते हैं: एक फ़ाइल नीचे देखें अपने कंप्यूटर में है। आपके मामले में आपको पहले 6 कॉलम की कक्षा निर्दिष्ट करने की आवश्यकता है और फिर अपने सातवें के रूप में factor चुनें। तो यदि पहले 6 कॉलम संख्यात्मक हैं तो यह colClasses = c(rep("numeric",6),"factor") जैसा कुछ होना चाहिए।

4
बिना

as.character अपने table सही ढंग से काम करना चाहिए (यानी freq <- table(ID)), ?table से हवाला देते हुए, आपके इनपुट हो सकता है:

एक या अधिक ऑब्जेक्ट जो कारकों ( चरित्र तार सहित) के रूप में व्याख्या की जा सकती है, या एक सूची (या डेटा फ्रेम) जिसका घटक हो सकता है, इसलिए व्याख्या की गई। (As.table और as.data.frame के लिए, तर्क विशिष्ट विधियों तक पास हुए।)

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