आर में एक कारक के स्तर और लेबल के बीच एक अंतर लगता है, अब तक मैंने हमेशा सोचा था कि स्तर कारक स्तरों का 'असली' नाम था, और लेबल थे आउटपुट के लिए उपयोग किए जाने वाले नाम (जैसे तालिकाओं और भूखंड)। इस नहीं करताकारक स्तर और कारक लेबल के बीच भ्रम
df <- data.frame(v=c(1,2,3),f=c('a','b','c'))
str(df)
'data.frame': 3 obs. of 2 variables:
$ v: num 1 2 3
$ f: Factor w/ 3 levels "a","b","c": 1 2 3
df$f <- factor(df$f, levels=c('a','b','c'),
labels=c('Treatment A: XYZ','Treatment B: YZX','Treatment C: ZYX'))
levels(df$f)
[1] "Treatment A: XYZ" "Treatment B: YZX" "Treatment C: ZYX"
मैंने सोचा था कि के स्तर ('एक', 'बी', 'सी') किसी भी तरह अभी भी जब पटकथा पहुँचा जा सकता है, लेकिन: जाहिर है, यह नहीं मामला है, जैसा कि निम्न उदाहरण से पता चलता है 'टी काम:
> df$f=='a'
[1] FALSE FALSE FALSE
लेकिन इस करता है:
-
:
> df$f=='Treatment A: XYZ'
[1] TRUE FALSE FALSE
तो, मेरे सवाल का दो हिस्से होते हैं
स्तर और लेबल के बीच क्या अंतर है?
क्या स्क्रिप्टिंग और आउटपुट के लिए कारक स्तरों के लिए अलग-अलग नाम होना संभव है?
पृष्ठभूमि: लंबी स्क्रिप्ट के लिए, छोटे कारक स्तरों के साथ स्क्रिप्टिंग बहुत आसान लगती है। हालांकि, रिपोर्ट और भूखंडों के लिए, यह छोटा कारक स्तर पर्याप्त नहीं हो सकता है और इसे सटीक नामों से बदला जाना चाहिए।
तेज उत्तर के लिए धन्यवाद! मुझे लगता है कि अब मैं स्तर और लेबल के उद्देश्य को समझता हूं।शायद टेबल नामों और साजिश किंवदंतियों को मैन्युअल रूप से संपादित किए बिना मैन्युअल रूप से बेहतर पठनीय आउटपुट बनाने के लिए कोई सुझाव? – donodarazao
लेबलों की साजिश/निर्माण करने से पहले मैं अक्सर स्तरों को बदलता हूं, उदा। स्तर को "ए", "बी", "सी" के रूप में रखें, जबकि मैनिप्लेटिंग, फिर स्तर (एफ) <- पेस्ट ("ट्रीटमेंट", टॉपर (लेवल (एफ)), सीपी = "") [या कुछ] का उपयोग करें अंकन। या एक समानांतर कारक f_pretty बनाएं जो आप साथ ले जाएं और केवल आउटपुट के लिए उपयोग करें ... –
मैंने दोनों के बारे में सोचा, लेकिन दोनों विधियों के नुकसान हैं। बड़ी संख्या में ग्राफ की साजिश करते समय पहली बार थकाऊ हो सकता है, और दूसरी बार स्क्रिप्टिंग में डेटा एकत्रण में शामिल होने पर थकाऊ हो सकता है। लेकिन जाहिर है कि आसानी से बचने का कोई तरीका नहीं है, इसलिए मैं आपके सुझावों के साथ जाऊंगा। :) – donodarazao