आर

2011-10-16 6 views
16

में शब्द घटनाओं की गणना करें क्या डेटासेट में किसी विशेष कीवर्ड को शामिल करने की संख्या गिनने के लिए कोई फ़ंक्शन है?आर

उदाहरण के लिए, यदि dataset <- c("corn", "cornmeal", "corn on the cob", "meal") गिनती होगी 3.

उत्तर

29

आइए पल के लिए मान लें कि आपके "मक्का" युक्त तत्व की संख्या चाहता था: के बाद आप आर की मूल बातें नीचे लाने के

length(grep("corn", dataset)) 
[1] 3 

बेहतर आप "टीएम" पैकेज को देखना चाह सकते हैं।

संपादित करें: मुझे एहसास है कि इस बार आप लगभग "मकई" चाहते थे लेकिन भविष्य में आप शब्द "मकई" प्राप्त करना चाहते हैं।

grep("\\<corn\\>", dataset) 
+0

आप "" पर वैक्टर विभाजित कर सकता है, uniqu करना ई और पूरी चीज पर टेबल चलाएं। :) –

+3

सही। जो मूल प्रश्न की अस्पष्टता पर प्रकाश डाला गया है। मुझे पता नहीं लगा कि 4 सही नंबर क्यों था। आपकी विधि "मकई" के लिए 2, "भोजन" के लिए 1 और "कॉर्नमील" के लिए 1 लौटाएगी। स्पेस-सीमांकित शब्द "मकई" को गिनने का सबसे अच्छा तरीका हो सकता है: लंबाई (grep ("^ मकई $ |^मक्का | मकई $", डेटासेट)) –

+0

वह एक टाइपो था, क्षमा करें। गिनती 3. – LNA

26

एक और काफी सुविधाजनक और सहज जिस तरह से यह stringr पैकेज के str_count समारोह का उपयोग करने के लिए है करने के लिए:

आर-सहायता पर अधिक बिल डनलप पूरे शब्द एकत्रित करने के लिए एक अधिक कॉम्पैक्ट ग्रेप पैटर्न बताया
library(stringr) 
dataset <- c("corn", "cornmeal", "corn on the cob", "meal") 

# for mere occurences of the pattern: 
str_count(dataset, "corn") 
# [1] 1 1 1 0 

# for occurences of the word alone: 
str_count(dataset, "\\bcorn\\b") 
# [1] 1 0 1 0 

# summing it up 
sum(str_count(dataset, "corn")) 
# [1] 3 
1

तुम भी तरह कुछ कर सकते हैं निम्नलिखित:

length(dataset[which(dataset=="corn")])