R Academy · पाठ

Logical और Character रूपांतरण

as.logical() और as.character() से logical, character और numeric के बीच रूपांतरण करें।

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

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

प्रकारों के बीच रूपांतरण

R सभी basic types के बीच रूपांतरण के लिए as.*() functions उपलब्ध कराता है। इस पाठ में logical, character और numeric types के बीच रूपांतरण शामिल हैं — ये data cleaning में मिलने वाले सबसे सामान्य round-trip conversions हैं।

# Quick overview of as.*() functions
cat('as.logical(1):    ', as.logical(1), '
')     # TRUE
cat('as.numeric(TRUE): ', as.numeric(TRUE), '
')  # 1
cat('as.character(3.14):', as.character(3.14), '
') # "3.14"
cat('as.logical("TRUE"):', as.logical('TRUE'), '
') # TRUE

Numeric से Logical में

किसी संख्या को logical में बदलने पर: 0 का परिणाम FALSE और किसी भी non-zero संख्या का परिणाम TRUE होता है। यह नियम integers और doubles दोनों पर लागू होता है।

cat('as.logical(0):    ', as.logical(0), '
')     # FALSE
cat('as.logical(1):    ', as.logical(1), '
')     # TRUE
cat('as.logical(-5):   ', as.logical(-5), '
')    # TRUE (non-zero)
cat('as.logical(0.001):', as.logical(0.001), '
') # TRUE (non-zero)
cat('as.logical(0L):   ', as.logical(0L), '
')    # FALSE
cat('as.logical(3L):   ', as.logical(3L), '
')    # TRUE

Logical से Numeric में

TRUE का रूपांतरण 1 में और FALSE का 0 में होता है। यह रूपांतरण R की कई प्रचलित विधियों का आधार है — जैसे TRUE मानों की गिनती के लिए sum() या proportions निकालने के लिए mean() का उपयोग।

cat('as.numeric(TRUE):  ', as.numeric(TRUE), '
')   # 1
cat('as.numeric(FALSE): ', as.numeric(FALSE), '
')  # 0
cat('as.integer(TRUE):  ', as.integer(TRUE), '
')   # 1L

# Practical use: count TRUEs by summing
passed <- c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE)
cat('Passed count:', sum(as.numeric(passed)), '
')  # 4
cat('Pass rate:   ', mean(passed) * 100, '%
')      # 66.67%

Strings से as.logical()

as.logical('TRUE') और as.logical('FALSE') string representations को बदलते हैं। R 'T' और 'F' को संक्षिप्त रूपों के तौर पर भी स्वीकार करता है। इनके अलावा कोई भी input (जिसमें lowercase 'true' भी शामिल है) NA लौटाता है।

cat('as.logical("TRUE"):  ', as.logical('TRUE'), '
')   # TRUE
cat('as.logical("FALSE"): ', as.logical('FALSE'), '
')  # FALSE
cat('as.logical("T"):     ', as.logical('T'), '
')      # TRUE
cat('as.logical("F"):     ', as.logical('F'), '
')      # FALSE
cat('as.logical("yes"):   ', as.logical('yes'), '
')    # NA (not recognised)
cat('as.logical("true"):  ', as.logical('true'), '
')   # NA (case-sensitive!)

Numeric से Character में

as.character(x) किसी संख्या को उसके string representation में बदलता है। यह labels और IDs बनाने या strings में संख्याएँ जोड़ने के लिए उपयोगी है।

num_val <- 3.14159
char_val <- as.character(num_val)
cat('as.character(3.14159):', char_val, '
')  # '3.14159'
cat('class:', class(char_val), '
')           # character

# Building labels
ids <- 1:5
labels <- paste0('Item_', as.character(ids))
cat('Labels:', labels, '
')

Character से Numeric में

as.numeric('3.14') किसी string को double में parse करता है। यदि string को संख्या के रूप में समझा नहीं जा सकता, तो R warning के साथ NA लौटाता है। production code में conversion से पहले input को हमेशा मान्य करें।

cat('as.numeric("3.14"):  ', as.numeric('3.14'), '
')   # 3.14
cat('as.numeric("100"):   ', as.numeric('100'), '
')    # 100
cat('as.numeric("-5.5"):  ', as.numeric('-5.5'), '
')   # -5.5
cat('as.numeric("abc"):   ', as.numeric('abc'), '
')    # NA with warning
cat('as.numeric("1e3"):   ', as.numeric('1e3'), '
')    # 1000 (sci notation OK)

Logical से Character में

as.character(TRUE) string 'TRUE' बनाता है। जब आपको logical values को text output, file exports या string concatenations में शामिल करना हो, तब यह उपयोगी है।

flag_t <- TRUE
flag_f <- FALSE

cat('as.character(TRUE): ', as.character(flag_t), '
')  # 'TRUE'
cat('as.character(FALSE):', as.character(flag_f), '
')  # 'FALSE'
cat('class:', class(as.character(flag_t)), '
')         # character

# In paste()
message <- paste('System status:', as.character(flag_t))
cat(message, '
')

Round-Trip Conversion

अधिकांश conversions reversible (round-trip) होते हैं, लेकिन कुछ जानकारी खो सकती है: numeric -> character -> numeric में संख्या को string के रूप में format करने के तरीके के आधार पर precision कम हो सकती है।

original <- 3.141592653589793
char_version <- as.character(original)
back_to_num <- as.numeric(char_version)

cat('Original:  ', original, '
')
cat('As string: ', char_version, '
')
cat('Back:      ', back_to_num, '
')
cat('Identical?:', identical(original, back_to_num), '
')
cat('Equal?:    ', original == back_to_num, '
')

विभिन्न स्रोतों वाले Vectors का रूपांतरण

जब आप character vector पर as.numeric() लागू करते हैं, तो प्रत्येक element स्वतंत्र रूप से बदला जाता है। जिन elements को parse नहीं किया जा सकता, वे NA बन जाते हैं। CSV files से पढ़े गए संख्या-जैसे data को साफ़ करने का यह मानक तरीका है।

# Simulated data from CSV (all read as character)
raw_data <- c('42', '37.5', 'N/A', '55', '', '28.0')
cat('Raw character data:', raw_data, '
')

numeric_data <- suppressWarnings(as.numeric(raw_data))
cat('Converted:         ', numeric_data, '
')  # 42 37.5 NA 55 NA 28
cat('NA count:          ', sum(is.na(numeric_data)), '
')

ifelse() में Logical Conversion

as.numeric() को ifelse() के साथ मिलाना या logical vector से सीधे गुणा करना, data analysis में conditional scoring या feature engineering के लिए प्रचलित तरीका है।

# Score: 1 for correct, 0 for incorrect
quiz_answers <- c('A', 'C', 'B', 'D', 'B')
correct      <- c('A', 'B', 'B', 'D', 'C')

is_correct <- quiz_answers == correct
cat('Correct:  ', is_correct, '
')
cat('As 0/1:   ', as.numeric(is_correct), '
')
cat('Score:    ', sum(is_correct), '/', length(is_correct), '
')

Conversion का सारांश

मुख्य logical और character conversions का सारांश:

  • as.logical(0) → FALSE; कोई भी non-zero मान → TRUE
  • as.logical('TRUE'/'T') → TRUE; यह case-sensitive है; अन्य मान → NA
  • as.numeric(TRUE) → 1; as.numeric(FALSE) → 0
  • as.character(x) → x का string representation
  • as.numeric('3.14') → 3.14; non-numeric strings → warning के साथ NA
# All conversions in one snippet
cat('logical->num:  ', as.numeric(c(TRUE, FALSE)), '
')
cat('num->logical:  ', as.logical(c(0, 1, -1, 0.5)), '
')
cat('char->num:     ', suppressWarnings(as.numeric(c('5', 'abc', '3.1'))), '
')
cat('char->logical: ', as.logical(c('TRUE', 'FALSE', 'yes')), '
')
cat('logical->char: ', as.character(c(TRUE, FALSE)), '
')

त्वरित जाँच

R में as.numeric(TRUE) + as.numeric(FALSE) का परिणाम क्या होगा?

पुनरावलोकन: Logical और Character Conversion

बहुत बढ़िया! इस पाठ की मुख्य बातें:

  • as.logical(0) → FALSE; non-zero → TRUE; 'TRUE'/'T' → TRUE
  • as.numeric(TRUE) → 1; as.numeric(FALSE) → 0
  • as.character(x) किसी भी value को उसके string रूप में बदलता है
  • as.numeric('3.14') numeric string को parse करता है; invalid strings → NA
  • as.logical('true') का परिणाम NA है — मिलान case-sensitive होता है ('TRUE' काम करता है)
  • Conversions अधिकांशतः reversible होते हैं; ऐसी columns को बदलते समय suppressWarnings() का उपयोग करें जिनमें कुछ entries से अपेक्षित रूप से NA बन सकते हैं
# Practical: parse a messy survey score column
raw_scores <- c('8', '7', 'N/A', '9', 'skip', '6')
numeric_scores <- suppressWarnings(as.numeric(raw_scores))
cat('Parsed:', numeric_scores, '
')
cat('Valid responses:', sum(!is.na(numeric_scores)), '
')
cat('Average score:  ', round(mean(numeric_scores, na.rm = TRUE), 2), '
')
शुरुआत निःशुल्क

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

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

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

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

क्या “Logical और Character रूपांतरण” पाठ निःशुल्क है?

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

“Logical और Character रूपांतरण” में मैं क्या सीखूँगा?

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

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

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

“Logical और Character रूपांतरण” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. R की प्रकार प्रणाली का अवलोकन
  2. संख्यात्मक प्रकारों के बीच रूपांतरण
  3. Logical और Character रूपांतरण
  4. Coercion की समस्याएँ और सर्वोत्तम अभ्यास
← R Academy पर वापस जाएँ