ट्रैक
/
R
R
/
सिलेबस
/
नाम एट्रिब्यूट
ना

नाम एट्रिब्यूट में R

1 अभ्यास

नाम एट्रिब्यूट के बारे में

वेक्टर के एलिमेंट के नाम हो सकते हैं, जिससे कभी-कभी उनके साथ काम करना ज़्यादा आसान हो जाता है।

जोड़ना

वेक्टर में नाम जोड़ने के तीन तरीके हैं।

  1. वेक्टर बनाते समय
> work_days <- c(Mon = TRUE, Tue = TRUE, Wed = TRUE, Thu = TRUE, Fri = TRUE, Sat = FALSE, Sun = FALSE)
> work_days
  Mon   Tue   Wed   Thu   Fri   Sat   Sun 
 TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE 
  1. names() को एक अक्षर वेक्टर असाइन करके
> months <- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> names(months) <- month.abb
> months
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 
 31  28  31  30  31  30  31  31  30  31  30  31 
  1. setNames() की मदद से
> months <- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
> setNames(months, month.name)
  January  February     March     April       May      June      July    August September   October  November  December 
       31        28        31        30        31        30        31        31        30        31        30        31 

हटाना

अगर नाम अब नहीं चाहिए, तो उन्हें NULL पर सेट करके हटाया जा सकता है।

> work_days
  Mon   Tue   Wed   Thu   Fri   Sat   Sun 
 TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE 
> names(work_days) <- NULL
> work_days
[1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE

unname() फंक्शन भी वही काम करता है, और शायद आपका इरादा और साफ़ कर देता है।

नामों के साथ काम करना

names() फंक्शन नाम सेट भी कर सकता है और निकाल भी सकता है।

> names(months) <- month.abb
> names(months)[1:3]
[1] "Jan" "Feb" "Mar"

इंडेक्स की जगह नाम का इस्तेमाल किया जा सकता है, हालाँकि इस मामले में कोटेशन ज़रूरी हैं।

> months[c("Jul", "Aug")]
Jul Aug 
 31  31 

ऐसी इंडेक्सिंग के ठीक से काम करने के लिए यह सुनिश्चित करना सबसे अच्छा है कि नाम अद्वितीय हों और एक भी नाम छूटा हुआ न हो। हालाँकि, R अद्वितीयता को अनिवार्य नहीं बनाता।

वेक्टर पर होने वाले आम ऑपरेशन तब भी काम करते हैं, और जहाँ मतलब बनता है वहाँ नाम आम तौर पर बने रहते हैं।

> months[months == 30]
Apr Jun Sep Nov 
 30  30  30  30 

> sum(months)
[1] 365  # no meaningful names possible

और उन्नत विषय

कई R ऑब्जेक्ट, जिनमें vectors भी शामिल हैं, अपने साथ मनमाने एट्रिब्यूट जोड़ सकते हैं। names एट्रिब्यूट इसका बस एक उदाहरण है, हालाँकि खास तौर पर आम और महत्वपूर्ण उदाहरण।

व्यवहार में नाम वेक्टर के लिए कभी-कभी काम के होते हैं, पर ज़रूरी शायद ही होते हैं। अधिक जटिल ढाँचों, जैसे lists और dataframes, के लिए names-attribute कहीं ज़्यादा महत्वपूर्ण हो जाता है, जैसा हम आगे के कॉन्सेप्ट में देखेंगे।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

नाम एट्रिब्यूट सीखिए