R Language
कक्षाएं
खोज…
परिचय
डेटा-ऑब्जेक्ट की श्रेणी यह निर्धारित करती है कि कौन से कार्य इसकी सामग्री को संसाधित करेंगे। class
गुण एक चरित्र वेक्टर है, और वस्तुओं में शून्य, एक या अधिक वर्ग हो सकते हैं। यदि कोई वर्ग-विशेषता नहीं है, तब भी एक ऑब्जेक्ट के mode
द्वारा निर्धारित एक निहित वर्ग होगा। वर्ग का निरीक्षण फ़ंक्शन class
साथ किया जा सकता है और इसे class<-
फ़ंक्शन द्वारा सेट या संशोधित किया जा सकता है। S3 के इतिहास में S3 वर्ग प्रणाली को जल्दी स्थापित किया गया था। अधिक जटिल S4 वर्ग प्रणाली बाद में स्थापित की गई थी
टिप्पणियों
किसी वस्तु के "प्रकार" के निरीक्षण के लिए कई कार्य हैं। इस तरह के सबसे उपयोगी फ़ंक्शन class
, हालांकि कभी-कभी किसी वस्तु के mode
की जांच करना आवश्यक है। चूंकि हम "प्रकार" पर चर्चा कर रहे हैं, इसलिए कोई सोच सकता है कि typeof
उपयोगी होगा, लेकिन आम तौर पर mode
से परिणाम अधिक उपयोगी होगा, क्योंकि कोई स्पष्ट "वर्ग" वाले ऑब्जेक्ट्स के पास फ़ंक्शन नहीं होगा "निहित वर्ग" द्वारा निर्धारित फ़ंक्शन प्रेषण उनकी विधा से।
वैक्टर
आर में उपलब्ध सबसे सरल डेटा संरचना एक वेक्टर है। आप c()
फ़ंक्शन का उपयोग करके संख्यात्मक मान, तार्किक मान और वर्ण स्ट्रिंग्स के वैक्टर बना सकते हैं। उदाहरण के लिए:
c(1, 2, 3)
## [1] 1 2 3
c(TRUE, TRUE, FALSE)
## [1] TRUE TRUE FALSE
c("a", "b", "c")
## [1] "a" "b" "c"
आप c()
फ़ंक्शन का उपयोग करके वैक्टर से भी जुड़ सकते हैं।
x <- c(1, 2, 5)
y <- c(3, 4, 6)
z <- c(x, y)
z
## [1] 1 2 5 3 4 6
वैक्टर बनाने का अधिक विस्तृत उपचार "बनाने वाले वैक्टर" विषय में पाया जा सकता है
कक्षाओं का निरीक्षण किया
R में प्रत्येक ऑब्जेक्ट को एक वर्ग सौंपा गया है। आप उपयोग कर सकते हैं class()
वस्तु के वर्ग और लगता है str()
इसकी संरचना को देखने के लिए, वर्गों इसमें शामिल है। उदाहरण के लिए:
class(iris)
[1] "data.frame"
str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 ...
class(iris$Species)
[1] "factor"
हम देखते हैं कि परितारिका में वर्ग data.frame
और str()
का उपयोग करके हमें अंदर के डेटा की जांच करने की अनुमति मिलती है। परितारिका डेटा फ़्रेम में चर प्रजाति वर्ग कारक का है, अन्य वैरिएबल के विपरीत जो वर्ग संख्यात्मक के हैं। str()
फ़ंक्शन भी चर की लंबाई प्रदान करता है और टिप्पणियों के पहले जोड़े को दिखाता है, जबकि class()
फ़ंक्शन केवल ऑब्जेक्ट की कक्षा प्रदान करता है।
वैक्टर और सूची
R में डेटा वैक्टर में संग्रहित किया जाता है। एक विशिष्ट वेक्टर उन सभी स्टोरेज मोड (जैसे, वर्ण वैक्टर, संख्यात्मक वैक्टर) वाले मानों का एक क्रम है। देखें ?atomic
निहित वर्गों और उनके संबंधित भंडारण मोड पर विवरण के लिए परमाणु: "logical", "integer", "numeric" (synonym "double"), "complex", "character"
और "raw"
। कई वर्ग बस एक परमाणु वेक्टर होते हैं जिसके शीर्ष पर एक class
विशेषता होती है:
x <- 1826
class(x) <- "Date"
x
# [1] "1975-01-01"
x <- as.Date("1970-01-01")
class(x)
#[1] "Date"
is(x,"Date")
#[1] TRUE
is(x,"integer")
#[1] FALSE
is(x,"numeric")
#[1] FALSE
mode(x)
#[1] "numeric"
सूचियाँ एक विशेष प्रकार की वेक्टर होती हैं जहाँ प्रत्येक तत्व कुछ भी हो सकता है, यहाँ तक कि दूसरी सूची भी, इसलिए सूचियों के लिए R शब्द: "पुनरावर्ती वैक्टर":
mylist <- list( A = c(5,6,7,8), B = letters[1:10], CC = list( 5, "Z") )
सूचियों के दो बहुत महत्वपूर्ण उपयोग हैं:
चूंकि फ़ंक्शन केवल एक ही मान लौटा सकते हैं, किसी सूची में जटिल परिणाम लौटना आम है:
f <- function(x) list(xplus = x + 10, xsq = x^2) f(7) # $xplus # [1] 17 # # $xsq # [1] 49
सूची भी डेटा फ्रेम के लिए अंतर्निहित मौलिक वर्ग है। हुड के तहत, एक डेटा फ़्रेम सभी लंबाई वाले वैक्टर की एक सूची है:
L <- list(x = 1:2, y = c("A","B")) DF <- data.frame(L) DF # x y # 1 1 A # 2 2 B is.list(DF) # [1] TRUE
पुनरावर्ती वैक्टर का अन्य वर्ग आर अभिव्यक्ति है, जो "भाषा" - वस्तुएं हैं