मैं यहोशू से सहमत हूं कि cut
अधिकतर लोग इस कार्य के बारे में सोचेंगे। मुझे इसके डिफ़ॉल्ट पसंद नहीं हैं, बाएं बंद अंतराल पसंद करते हैं और यह cut
के साथ सही ढंग से सेट करने के लिए मामूली दर्द है (हालांकि यह किया जा सकता है। सौभाग्य से मेरे कमजोर मस्तिष्क के लिए, फ्रैंक हैरेल ने cut2
फ़ंक्शन डिज़ाइन किया है उसका एचएमआईसी पैकेज जिसका डिफ़ॉल्ट मैं पसंद करता हूं। तीसरा विकल्प findInterval
का उपयोग करना है जो विशेष रूप से उन समस्याओं के लिए उपयुक्त है जहां आप किसी अन्य निष्कर्ष या चयन प्रक्रिया के लिए इंडेक्स के रूप में परिणाम का उपयोग करना चाहते हैं। इसके परिणाम लगभग as.numeric
लागू होते हैं cut
के परिणामों के लिए:
require(Hmisc)
cut2(dataset, c(1,4,9,17,23))
[1] [ 4, 9) [ 4, 9) [ 9,17) [ 1, 4) [ 9,17) [ 9,17) [17,23] [17,23] [ 1, 4) [ 9,17)
[11] [ 9,17) [ 9,17) [ 9,17) [17,23] [ 1, 4) [17,23] [ 9,17) [17,23]
(ध्यान दें कि findInterval
बंद अंत के रूप में ऊपरी सीमा का उपयोग करेगा एक अतिरिक्त अंतराल के रूप में जब तक आप अधिकतम डब्ल्यू की जगह ith Inf
, आर में अनंत)
findInterval(dataset, c(c(1,4,9,17,23)))
[1] 2 2 3 1 3 3 4 4 1 3 3 3 3 4 1 5 3 4
as.numeric(cut(dataset, c(1,4,9,17,Inf), include.lowest=TRUE))
[1] 1 2 2 1 3 3 4 4 1 3 3 3 3 4 1 4 3 3
as.numeric(cut(dataset, c(1,4,9,17,23), include.lowest=TRUE))
[1] 1 2 2 1 3 3 4 4 1 3 3 3 3 4 1 4 3 3
'चर डमी (जो क्या ओ पी के लिए कहा cut') से प्राप्त करने के लिए,' कोशिश model.matrix (के लिए एक आरक्षित शब्द ~ बिन -1, डेटा = डाटासेट) ' –