शायद एक बेवकूफ सवाल है, लेकिन मैंने हाल ही में मैट डॉउल को as.factor()
के साथ कुछ कोड लिखा है, विशेष रूप से for (col in names_factors) set(dt, j=col, value=as.factor(dt[[col]]))
this answer पर टिप्पणी में। मैंने इस स्निपेट का इस्तेमाल किया, लेकिन मुझे स्पष्ट रूप से कारक स्तर निर्धारित करने की आवश्यकता थी, इसलिए मुझे as.factor(dt[[col]])
से factor(dt[[col]], levels=my_levels)
बदलना पड़ा। यह मुझे सोच रहा है, as.factor()
बनाम factor()
का उपयोग करने का क्या फायदा है (यदि कोई है)?केवल कारक के बजाय .factor() का उपयोग क्यों करें()
20
A
उत्तर
21
as.factor
factor
के लिए एक आवरण है, लेकिन यह जल्दी वापसी की अनुमति देता है इनपुट वेक्टर पहले से ही एक कारक है:
function (x)
{
if (is.factor(x))
x
else if (!is.object(x) && is.integer(x)) {
levels <- sort(unique.default(x))
f <- match(x, levels)
levels(f) <- as.character(levels)
if (!is.null(nx <- names(x)))
names(f) <- nx
class(f) <- "factor"
f
}
else factor(x)
}
प्रति @Frank: यहाँ स्पष्ट उन्होंने कहा, लेकिन यह एक मात्र आवरण नहीं है चूंकि यह "त्वरित वापसी" कारक स्तर और आदेश-नास छोड़ देगा, जबकि factor()
अकेले नहीं होगा:
f = factor("a", levels=c("a","b"))
#[1] a
#Levels: a b
factor(f)
#[1] a
#Levels: a
as.factor(f)
#[1] a
#Levels: a b
संबंधित मुद्दे
- 1. jasmine.createSpy के बजाय spyOn का उपयोग क्यों करें?
- 2. खरगोश एमक्यू के बजाय सेलरी का उपयोग क्यों करें?
- 3. नींद() के बजाय चयन() का उपयोग क्यों करें?
- 4. सादा MySQL के बजाय ROLAP का उपयोग क्यों करें?
- 5. कक्षा के नाम के बजाय var का उपयोग क्यों करें?
- 6. console.log के बजाय कोणीय के $ लॉग का उपयोग क्यों करें?
- 7. विज्ञापन के बजाय विकास प्रावधान का उपयोग क्यों नहीं करें?
- 8. Clojure में क्यों का उपयोग करें: केवल []
- 9. अंत() - 1 के बजाय rbegin() का उपयोग क्यों करें?
- 10. staticmethod के बजाय classmethod का उपयोग क्यों करें?
- 11. अन्य तरीकों के बजाय कर्ल का उपयोग क्यों करें?
- 12. जेएल के बजाय जेएलई का उपयोग क्यों करें?
- 13. रजिस्टर का उपयोग क्यों करें डिफ़ॉल्ट: setValue के बजाय: forKey :?
- 14. Function.prototype.call के बजाय Function.prototype.bind का उपयोग क्यों करें?
- 15. स्ट्रिंग के बजाय char [] का उपयोग क्यों करें?
- 16. एस का उपयोग क्यों करें: एमएक्स के बजाय लाइन: एचआरयूएल?
- 17. क्यों नए के बजाय GWT.create() का उपयोग करें?
- 18. jQuery के बजाय केकपीएचपी AJAX सहायक का उपयोग क्यों करें?
- 19. रिलेवेटिवआउट या लीनियरलाउट के बजाय कार्डव्यू का उपयोग क्यों करें?
- 20. LINQ में FirstOrDefault के बजाय पहले का उपयोग क्यों करें?
- 21. #defines के बजाय सी टाइपपीफ का उपयोग क्यों करें?
- 22. क्यों बदले के बजाय EventArgs.Empty का उपयोग करें?
- 23. कार में ggplot के साथ साजिश करते समय कारक() का उपयोग कब करें?
- 24. ';' के बजाय क्वेरीरीस्ट्रिंग का उपयोग कैसे करें
- 25. बड़े थ्रेडपूल का उपयोग करने के बजाय एसिंक अनुरोधों का उपयोग क्यों करें?
- 26. कुछ साइटें केवल $ $ की बजाय $ j के साथ jquery का उपयोग क्यों करती हैं?
- 27. आरटीपी टीसीपी के बजाय यूडीपी का उपयोग क्यों करता है?
- 28. कारक स्तर और कारक लेबल के बीच भ्रम
- 29. स्थिति का उपयोग करने के बजाय मार्जिन पोजिशनिंग का उपयोग क्यों नहीं करें: सापेक्ष शीर्ष 5px?
- 30. कार्यों के बजाय कन्स्ट्रक्टर का उपयोग क्यों किया जाता है?
नामकरण स्थिरता एक बड़ी है। लगभग सभी सामान्य वर्गों में 'as.class' फ़ंक्शन होता है। – Gregor