R Academy · पाठ

नामित वेक्टर और नामित अनुक्रम

पठनीय कोड के लिए वेक्टर पर नाम असाइन और एक्सेस करें।

पाठ 4, कुल 4 में से13 चरण

नामित वेक्टर और नामित अनुक्रम, CoddyKit पर R Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह R Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

नामित वेक्टर का परिचय

नामित वेक्टर वह वेक्टर है जिसमें प्रत्येक तत्व का एक संबंधित नाम (कैरेक्टर लेबल) होता है। नाम कोड को अधिक पठनीय बनाते हैं और आपको स्थिति-इंडेक्स के बजाय नाम से तत्वों तक पहुँचने देते हैं।

# A plain vector vs a named vector
plain <- c(78, 92, 85, 67)
named <- c(Alice = 78, Bob = 92, Carol = 85, Dave = 67)

cat('Plain vector:', plain, '
')
cat('Named vector:
')
print(named)

c() से नामित वेक्टर बनाना

नामित वेक्टर बनाने का सबसे सरल तरीका c() के अंदर name = value युग्मों का उपयोग करना है। नाम कोई भी मान्य स्ट्रिंग हो सकते हैं; यदि उनमें रिक्त स्थान या विशेष वर्ण हों, तो उन्हें बैकटिक या उद्धरण चिह्नों में रखें।

# GDP in trillions USD
gdp <- c(USA = 27.4, China = 18.0, Germany = 4.1,
         Japan = 4.2, UK = 3.1)
cat('GDP values:
')
print(gdp)
cat('Names:', names(gdp), '
')
cat('Values:', unname(gdp), '
')

names() फ़ंक्शन

names(x) वेक्टर के नामों को कैरेक्टर वेक्टर के रूप में प्राप्त करता है। आप बनाने के बाद names(x) <- c(...) का उपयोग करके नाम असाइन भी कर सकते हैं, जिससे वेक्टर उसी स्थान पर बदल जाता है।

# Assign names after creation
temps <- c(22.1, 18.5, 25.3, 20.0)
cat('Before naming:', temps, '
')

names(temps) <- c('Mon', 'Tue', 'Wed', 'Thu')
cat('After naming:
')
print(temps)

# Retrieve names
cat('Days:', names(temps), '
')

नाम से तत्वों तक पहुँचना

नामित वेक्टर के तत्वों तक x["name"] या x[["name"]] का उपयोग करके पहुँचें। एकल ब्रैकेट [] नाम सहित उपसमुच्चय लौटाता है; [[]] नाम के बिना केवल मान लौटाता है।

scores <- c(Math = 88, Science = 92, English = 75, History = 81)

# Single bracket: keeps name
cat('Math score (with name):
')
print(scores['Math'])

# Double bracket: just the value
cat('Science score (value only):', scores[['Science']], '
')

# Multiple names
cat('STEM subjects:
')
print(scores[c('Math', 'Science')])

फ़ंक्शनल शैली के लिए setNames()

setNames(x, nm), मूल वेक्टर को बदले बिना, nm नामों वाला x का एक प्रति लौटाता है। यह उन पाइपलाइनों में उपयोगी है जहाँ आप ऑपरेशनों की श्रृंखला के एक भाग के रूप में वेक्टर को नाम देना चाहते हैं।

# setNames returns a named copy (does not modify original)
raw_values <- c(0.85, 0.72, 0.91, 0.68)
metrics <- setNames(raw_values, c('Precision', 'Recall', 'F1', 'Accuracy'))

cat('Original (unchanged):', raw_values, '
')
cat('Named metrics:
')
print(metrics)

# Best metric
best_name <- names(which.max(metrics))
cat('Best metric:', best_name, '=', metrics[best_name], '
')

नामों में बदलाव करना

आप names(x) में इंडेक्सिंग करके अलग-अलग नाम बदल सकते हैं। यह तब उपयोगी है जब पूरे वेक्टर को फिर से बनाए बिना कुछ तत्वों के नाम बदलने हों।

prices <- c(apple = 1.20, bannana = 0.80, cherry = 3.50)  # typo!

# Fix a single name
names(prices)[2] <- 'banana'
cat('Fixed names:
')
print(prices)

# Rename all
names(prices) <- c('Apple', 'Banana', 'Cherry')  # capitalise
cat('Capitalised:
')
print(prices)

seq() और names() से नामित अनुक्रम

आप seq() को setNames() के साथ मिलाकर नामित अनुक्रम बना सकते हैं। यह विशेष रूप से मासिक या साप्ताहिक इंडेक्स के लिए उपयोगी है, जहाँ नाम संख्यात्मक मानों को संदर्भ प्रदान करते हैं।

# Monthly average temperature with names
temps_monthly <- setNames(
  c(3.1, 4.2, 8.5, 13.0, 17.2, 21.0, 23.5, 23.0, 19.0, 13.5, 7.8, 4.0),
  month.abb
)
cat('Monthly temps:
')
print(temps_monthly)
cat('Summer avg:', mean(temps_monthly[c('Jun', 'Jul', 'Aug')]), '
')

नामित वेक्टरों को फ़िल्टर करना

नामित वेक्टर लॉजिकल और कैरेक्टर, दोनों प्रकार की इंडेक्सिंग का समर्थन करते हैं। आप नाम से तत्व चुनकर उन्हें उसी समय मान के आधार पर फ़िल्टर कर सकते हैं, जिससे छोटे लुकअप टेबल के लिए नामित वेक्टर बहुत अभिव्यंजक बन जाते हैं।

population <- c(Tokyo = 37.4, Delhi = 32.9, Shanghai = 28.5,
                Dhaka = 22.5, Cairo = 21.3, Mumbai = 20.7)

# Select cities with population > 25 million
big_cities <- population[population > 25]
cat('Cities over 25M:
')
print(big_cities)

# Sort descending by population
cat('Ranked:
')
print(sort(population, decreasing = TRUE))

unname() से नाम हटाना

unname(x) वेक्टर से सभी नाम हटाकर केवल मान लौटाता है। यह तब उपयोगी है जब डेटा ऐसे फ़ंक्शन को देना हो जो नामित वेक्टर की अपेक्षा नहीं करता, या जब नाम आउटपुट को देखने में अनावश्यक अव्यवस्था पैदा करते हों।

named_vec <- c(x1 = 10, x2 = 20, x3 = 30, x4 = 40)
cat('Named:
')
print(named_vec)

unnamed_vec <- unname(named_vec)
cat('Unnamed:
')
print(unnamed_vec)

# Check
cat('Has names after unname:', !is.null(names(unnamed_vec)), '
')

लुकअप टेबल के रूप में नामित वेक्टर

नामित वेक्टरों का एक सबसे शक्तिशाली उपयोग लुकअप टेबल के रूप में करना है: कुंजियों को मानों से मैप करना। if-else कथनों की श्रृंखला के बजाय नामित वेक्टर का उपयोग करके उसमें इंडेक्स करें।

# Map month abbreviation to number of days
days_in_month <- c(Jan=31, Feb=28, Mar=31, Apr=30, May=31,
                   Jun=30, Jul=31, Aug=31, Sep=30, Oct=31,
                   Nov=30, Dec=31)

# Look up specific months
query <- c('Mar', 'Jul', 'Nov')
cat('Days in', query[1], ':', days_in_month[query[1]], '
')
cat('Days in', query[2], ':', days_in_month[query[2]], '
')
cat('Days in', query[3], ':', days_in_month[query[3]], '
')

नामित वेक्टर: मुख्य तथ्य

R में नामित वेक्टर की सुविधाओं का सारांश:

  • c(name = value, ...) से बनाएँ या names(x) <- c(...) द्वारा नाम असाइन करें
  • x['name'] से नाम द्वारा पहुँचें (नाम बना रहता है) या x[['name']] से पहुँचें (केवल मान)
  • setNames(x, nm) मूल वेक्टर को बदले बिना नामित प्रति लौटाता है
  • unname(x) सभी नाम हटा देता है
  • नामित वेक्टर सुंदर लुकअप टेबल के रूप में काम करते हैं (if-else श्रृंखलाओं का स्थान लेते हैं)
# Complete workflow
rates <- c(USD = 1.0, EUR = 0.92, GBP = 0.79, JPY = 149.5)

# Convert 100 USD to each currency
amount_usd <- 100
converted <- amount_usd * rates
cat('100 USD in other currencies:
')
print(round(converted, 2))

त्वरित जाँच

जब x एक नामित वेक्टर हो, तब x['key'] और x[['key']] में क्या अंतर है?

पुनरावलोकन: नामित वेक्टर

बहुत अच्छा काम! इस पाठ की मुख्य बातें:

  • नामित वेक्टर प्रत्येक तत्व को एक कैरेक्टर लेबल से जोड़ते हैं
  • c(name = val) सिंटैक्स से बनाएँ या names(x) <- ... से नाम असाइन करें
  • x['name'] नाम सहित उपसमुच्चय लौटाता है; x[['name']] केवल मान लौटाता है
  • setNames() नाम जोड़ने का फ़ंक्शनल (बिना बदलाव करने वाला) तरीका है
  • विस्तृत if-else श्रृंखलाओं के स्थान पर नामित वेक्टरों को लुकअप टेबल के रूप में उपयोग करें
  • जब कच्चे मानों की आवश्यकता हो, तब unname() नाम हटा देता है
# Named vector as grade lookup
grade_map <- c('90'='A', '80'='B', '70'='C', '60'='D')
student_score <- 80

# Find grade bracket
brackets <- c(90, 80, 70, 60)
threshold <- max(brackets[brackets <= student_score])
cat('Score:', student_score, '-> Grade:', grade_map[as.character(threshold)], '
')
शुरुआत निःशुल्क

एआई शिक्षक के साथ R सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
43
पाठ
159

अक्सर पूछे जाने वाले प्रश्न

क्या “नामित वेक्टर और नामित अनुक्रम” पाठ निःशुल्क है?

हाँ — R Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “नामित वेक्टर और नामित अनुक्रम” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“नामित वेक्टर और नामित अनुक्रम” में मैं क्या सीखूँगा?

पठनीय कोड के लिए वेक्टर पर नाम असाइन और एक्सेस करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ R Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या R Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर R Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“नामित वेक्टर और नामित अनुक्रम” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस R Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर R Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. पूर्णांक श्रेणियों के लिए Colon ऑपरेटर
  2. कस्टम अनुक्रमों के लिए seq()
  3. दोहराए गए मानों के लिए rep()
  4. नामित वेक्टर और नामित अनुक्रम
← R Academy पर वापस जाएँ