प्रोग्रामिंग भाषा में डेटा प्रकारों और उनके महत्व के बारे में जानें। विशेष रूप से, R प्रोग्रामिंग भाषा में वेक्टर, मैट्रिक्स, लिस्ट्स और डेटा फ्रेम्स जैसे विभिन्न डेटा प्रकारों का उपयोग करना सीखें।
इंस्टॉलेशन सफल हुआ है या नहीं, यह जाँचने के लिए बस टर्मिनल में R (बड़े अक्षर में) टाइप करें, और आप नीचे दिखाए अनुसार एक R सत्र में प्रवेश कर लेंगे।
अन्य ऑपरेटिंग सिस्टम पर इंस्टॉलेशन के लिए, निःसंकोच यह ट्यूटोरियल देखें।
अब Jupyter Notebook पर R प्रोग्रामिंग भाषा को एक कर्नेल के रूप में जोड़ते हैं। सुनिश्चित करें कि आपके सिस्टम पर Jupyter Notebook पहले से इंस्टॉल है।
अपने टर्मिनल पर जाएँ, R सत्र खोलें और नीचे दिए गए दो कमांड दर्ज करें, जो आपके Jupyter Notebook में R कर्नेल जोड़ देंगे।
install.packages('IRkernel')IRkernel::installspec()संचालित द्वारा
जब ऊपर दिए गए दोनों कमांड सफल हो जाएँ, तो टर्मिनल से Jupyter चलाएँ और नीचे दिखाए अनुसार R कर्नेल के साथ एक नोटबुक खोलें:
अब आप Jupyter Notebook पर अपना पहला R कोड लिखने के लिए पूरी तरह तैयार हैं।
परिचय
R का अधिकतम उपयोग करने के लिए, यह जानना और समझना बहुत महत्वपूर्ण है कि R में कौन-कौन से डेटा प्रकार और डेटा संरचनाएँ मौजूद हैं और वे कैसे काम करती हैं। ये लगभग सभी समस्याओं में, खासकर तब जब आप मशीन लर्निंग जैसी अत्यधिक डेटा-केंद्रित समस्याओं पर काम कर रहे होते हैं, अहम भूमिका निभाती हैं।
किसी प्रोग्रामिंग भाषा में हमें आम तौर पर सूचना स्टोर करने के लिए वेरिएबल्स की ज़रूरत होती है, जो integer, character, floating-point, boolean आदि हो सकते हैं। वेरिएबल का type पूरी तरह इस बात पर आधारित होता है कि वह किस तरह की जानकारी रखता है। यदि किसी वेरिएबल को integer असाइन किया गया है, तो उसका डेटा प्रकार int होगा। वेरिएबल्स मूल रूप से आरक्षित मेमोरी लोकेशन होते हैं जहाँ मान स्टोर किए जाते हैं। जैसे ही आप कोई वेरिएबल बनाते हैं, उसके लिए कुछ मेमोरी स्पेस आरक्षित हो जाता है।
किसी वेरिएबल के डेटा प्रकार के आधार पर, ऑपरेटिंग सिस्टम कुछ मेमोरी अलॉट करेगा। उदाहरण के लिए, R प्रोग्रामिंग में, एक वेरिएबल जो integer रखता है वह 4 बाइट मेमोरी और character के लिए 1 बाइट आरक्षित करेगा।
C, C++, और Java जैसी प्रोग्रामिंग भाषाओं में वेरिएबल्स को डेटा प्रकार के रूप में डिक्लेयर किया जाता है; जबकि Python और R में वेरिएबल्स एक object होते हैं। ऑब्जेक्ट्स मूल रूप से एक डेटा संरचना हैं जिनमें कुछ attributes और methods होते हैं, जो उन्हीं attributes पर लागू होते हैं।
R-objects या डेटा संरचनाओं के कई प्रकार होते हैं जिन पर इस ट्यूटोरियल में चर्चा की जाएगी, जैसे:
Integer: जिन संख्याओं में दशमलव मान नहीं होता, उनका डेटा प्रकार integer होता है। हालाँकि, integer डेटा प्रकार बनाने के लिए आप स्पष्ट रूप से as.integer() का उपयोग करते हैं और वेरिएबल को आर्ग्युमेंट के रूप में पास करते हैं।
Character: जैसा कि नाम से स्पष्ट है, कोई अक्षर या उद्धरण चिह्नों में बंद अक्षरों का संयोजन R द्वारा character डेटा प्रकार माना जाता है। यह अक्षर या संख्याएँ दोनों हो सकते हैं।
Factor: यह वह डेटा प्रकार है जिसका उपयोग किसी गुणात्मक संबंध जैसे रंग, अच्छा और बुरा, कोर्स या मूवी रेटिंग्स आदि को दर्शाने के लिए किया जाता है। ये सांख्यिकीय मॉडलिंग में उपयोगी होते हैं।
इसे प्राप्त करने के लिए, आप c() फ़ंक्शन का उपयोग करेंगे, जो सभी तत्वों को मिलाकर एक वेक्टर (एक-आयामी) लौटाता है।
fac <- factor(c("good","bad","ugly","good","bad","ugly"))संचालित द्वारा
आगे बढ़ने से पहले, दो महत्वपूर्ण टिप्स समझ लेते हैं जो बहुत काम आ सकती हैं!
हमेशा याद रखें कि R प्रोग्रामिंग भाषा case-sensitive है। ऊपर परिभाषित सभी ऑब्जेक्ट्स का उपयोग उसी तरह करें, चाहे upper हो या lower, जैसा कि नीचे दिए उदाहरण में दिखाया गया है।
Error ineval(expr, envir, enclos): object 'Num' not found
Traceback:संचालित द्वारा
R में आप कार्य परिवेश (working environment) में आपने जो भी वेरिएबल/ऑब्जेक्ट्स परिभाषित किए हैं, उन्हें ls() कीवर्ड के जरिए देख सकते हैं, जैसा नीचे दिखाया गया है।
वेक्टर के विपरीत, एक लिस्ट में विभिन्न डेटा प्रकारों के तत्व हो सकते हैं और इसे अक्सर मानों का क्रमबद्ध संग्रह कहा जाता है। इसमें वेक्टर, फ़ंक्शंस, मैट्रिक्स, और यहाँ तक कि दूसरी लिस्ट (nested-list) भी हो सकती है।
R में लिस्ट्स one-indexed होती हैं, यानी इंडेक्सिंग एक से शुरू होती है।
एक त्वरित उदाहरण से लिस्ट की अवधारणा समझते हैं, जिसमें एक ही लिस्ट में तीन अलग-अलग डेटा प्रकार होंगे।
आइए लिस्ट में मौजूद प्रत्येक वेक्टर को अलग-अलग एक्सेस करें। ऐसा करने के लिए, आप double square brackets का उपयोग करेंगे क्योंकि तीनों वेक्टर लिस्ट के अंदर एक ही स्तर पर हैं। python
combined_list[[1]]
अंत में, लिस्ट को flatten करने की कोशिश करते हैं। एक महत्वपूर्ण बात याद रखने की यह है कि चूँकि combined_listcharacter और numeric डेटाटाइप का संयोजन है, इसलिए character डेटा प्रकार को प्राथमिकता मिलेगी और पूरी लिस्ट का डेटा प्रकार character बन जाएगा।
वेक्टर एक ऑब्जेक्ट है जिसका उपयोग एक ही डेटा प्रकार की कई जानकारी या मानों को स्टोर करने के लिए किया जाता है। एक वेक्टर में integer और character दोनों का संयोजन नहीं हो सकता। उदाहरण के लिए, यदि आप 100 छात्रों के कुल अंक स्टोर करना चाहते हैं, तो प्रत्येक छात्र के लिए 100 अलग-अलग वेरिएबल बनाने की बजाय आप लंबाई 100 का एक वेक्टर बनाएँगे, जो सभी छात्रों के अंक रखेगा।
वेक्टर c() फ़ंक्शन से बनाया जा सकता है, जो सभी तत्वों को मिलाकर एक एक-आयामी array लौटाता है।
आइए पाँच छात्रों के डेटा के साथ numeric वर्ग का एक वेक्टर marks बनाते हैं।
वेक्टर की तरह, मैट्रिक्स का उपयोग भी एक ही डेटा प्रकार की जानकारी स्टोर करने के लिए किया जाता है। लेकिन वेक्टर के विपरीत, मैट्रिक्स अपने अंदर द्वि-आयामी जानकारी रख सकते हैं।
मैट्रिक्स परिभाषित करने का सिंटैक्स:
M<-matrix(vector, nrow=r, ncol=c, byrow=FALSE, dimnames=list(char_vector_rownames, char_vector_colnames))संचालित द्वारा
byrow=TRUE का अर्थ है कि मैट्रिक्स को पंक्तियों के अनुसार भरा जाना चाहिए। byrow=FALSE इंगित करता है कि मैट्रिक्स को स्तंभों के अनुसार भरा जाना चाहिए (डिफ़ॉल्ट)।
आइए जल्दी से आकार $2\times3$ का एक मैट्रिक्स M परिभाषित करें।
M = matrix( c('AI','ML','DL','Tensorflow','Pytorch','Keras'), nrow =2, ncol =3, byrow = TRUE)print(M)संचालित द्वारा
[,1][,2][,3][1,]"AI""ML""DL"[2,]"Tensorflow""Pytorch""Keras"संचालित द्वारा
स्लाइसिंग की अवधारणा का उपयोग करते हैं और पंक्ति तथा स्तंभ से तत्व निकालते हैं।
M[1:2,1:2]#the first dimension selects both rows while the second dimension will select#elements from 1st and 2nd columnसंचालित द्वारा
मैट्रिक्स के विपरीत, डेटा फ्रेम एक अधिक सामान्यीकृत रूप है। इसमें डेटा सारणीबद्ध रूप में होता है। डेटा फ्रेम में डेटा विभिन्न स्तंभों में फैला हो सकता है, जिनके डेटा प्रकार अलग-अलग हो सकते हैं। पहला स्तंभ character, दूसरा integer और तीसरा logical हो सकता है।
वेरिएबल्स या फ़ीचर्स स्तंभों में होते हैं, जिन्हें header भी कहा जाता है, जबकि प्रेक्षण (observations) पंक्तियों में होते हैं, जहाँ पहला तत्व पंक्ति का नाम होता है और उसके बाद वास्तविक डेटा, जिसे data rows कहा जाता है।
डेटाफ्रेम data.frame() फ़ंक्शन का उपयोग करके बनाया जा सकता है।
डेटाफ्रेम का व्यापक उपयोग कॉमा-सेपरेटेड फाइल्स (CSV), टेक्स्ट फाइल्स पढ़ने में होता है। इनका उपयोग केवल डेटा पढ़ने तक सीमित नहीं है; आप इन्हें मशीन लर्निंग समस्याओं में भी उपयोग कर सकते हैं, खासकर जब आप संख्यात्मक डेटा से निपट रहे हों। डेटा समझने, डेटा रैंगलिंग, plotting और visualization के लिए डेटा फ्रेम उपयोगी होते हैं।
एक डमी डेटासेट बनाते हैं और कुछ डेटा फ्रेम-विशिष्ट फ़ंक्शंस सीखते हैं।
dataset <- data.frame(
Person = c("Aditya","Ayush","Akshay"),
Age = c(26,26,27),
Weight = c(81,85,90),
Height = c(6,5.8,6.2),
Salary = c(50000,80000,100000))संचालित द्वारा
आइए head फ़ंक्शन देखते हैं जो तब बहुत उपयोगी होता है जब आपके पास लाखों रिकॉर्ड हों और आप केवल शुरुआती कुछ पंक्तियाँ देखना चाहते हों। इसी तरह, tail फ़ंक्शन आपके डेटा की अंतिम कुछ पंक्तियाँ आउटपुट करेगा।
head(df1,3)# here only three rows will be printedसंचालित द्वारा
एक data.frame: 3 × 5
Person
Age
Weight
Height
Salary
<fct>
<dbl>
<dbl>
<dbl>
<dbl>
1
Aditya
26
81
6.0
5e+04
2
Ayush
26
85
5.8
8e+04
3
Akshay
27
90
6.2
1e+05
str(dataset)#this returns the individual class or data type information for each column.संचालित द्वारा
'data.frame':3 obs.of5variables:
$ Person: Factor w/3 levels "Aditya","Akshay",..:132
$ Age : num 262627
$ Weight: num 818590
$ Height: num 65.86.2
$ Salary: num 5e+048e+041e+05संचालित द्वारा
अब summary() फ़ंक्शन देखते हैं, जो तब उपयोगी होता है जब आप अपने डेटासेट के सांख्यिकीय पहलुओं को समझना चाहते हों। जैसा कि नीचे दिखाया गया है, यह आपके डेटा को तीन क्वार्टाइल में बाँटता है, जिसके आधार पर आप डेटा के वितरण के बारे में कुछ सहज समझ बना सकते हैं। यह यह भी दिखाता है कि आपके डेटासेट में कोई missing values हैं या नहीं।
यह ट्यूटोरियल R प्रोग्रामिंग भाषा सीखने के इच्छुक शुरुआती लोगों के लिए एक अच्छा शुरुआती बिंदु था। एक अच्छे अभ्यास के रूप में, निःसंकोच प्रत्येक डेटा प्रकार से संबंधित और सहायक फ़ंक्शंस देखें।
R से संबंधित बहुत-सी जानकारियाँ अभी शेष हैं जैसे R में कंटिडिशनल्स और कंट्रोल फ्लो, R में यूटिलिटीज, और सबसे रोचक—R का उपयोग करके मशीन लर्निंग—जिन्हें भविष्य के ट्यूटोरियल्स में कवर किया जाएगा, तो जुड़े रहें!
कृपया इस ट्यूटोरियल से संबंधित कोई भी प्रश्न नीचे कमेंट सेक्शन में पूछें।
परिचय शुरू करने और R में विभिन्न डेटा प्रकारों के बारे में सीखने से पहले, आइए जल्दी से टर्मिनल और Jupyter Notebook दोनों पर R वातावरण सेट अप कर लें।
निम्न कमांड Mac ऑपरेटिंग सिस्टम के लिए है, जो आपके टर्मिनल पर R इंस्टॉल करेगा।
इंस्टॉलेशन सफल हुआ है या नहीं, यह जाँचने के लिए बस टर्मिनल में R (बड़े अक्षर में) टाइप करें, और आप नीचे दिखाए अनुसार एक R सत्र में प्रवेश कर लेंगे।
अन्य ऑपरेटिंग सिस्टम पर इंस्टॉलेशन के लिए, निःसंकोच यह ट्यूटोरियल देखें।
अब Jupyter Notebook पर R प्रोग्रामिंग भाषा को एक कर्नेल के रूप में जोड़ते हैं। सुनिश्चित करें कि आपके सिस्टम पर Jupyter Notebook पहले से इंस्टॉल है।
अपने टर्मिनल पर जाएँ, R सत्र खोलें और नीचे दिए गए दो कमांड दर्ज करें, जो आपके Jupyter Notebook में R कर्नेल जोड़ देंगे।
जब ऊपर दिए गए दोनों कमांड सफल हो जाएँ, तो टर्मिनल से Jupyter चलाएँ और नीचे दिखाए अनुसार R कर्नेल के साथ एक नोटबुक खोलें:
अब आप Jupyter Notebook पर अपना पहला R कोड लिखने के लिए पूरी तरह तैयार हैं।
परिचय
R का अधिकतम उपयोग करने के लिए, यह जानना और समझना बहुत महत्वपूर्ण है कि R में कौन-कौन से डेटा प्रकार और डेटा संरचनाएँ मौजूद हैं और वे कैसे काम करती हैं। ये लगभग सभी समस्याओं में, खासकर तब जब आप मशीन लर्निंग जैसी अत्यधिक डेटा-केंद्रित समस्याओं पर काम कर रहे होते हैं, अहम भूमिका निभाती हैं।
किसी प्रोग्रामिंग भाषा में हमें आम तौर पर सूचना स्टोर करने के लिए वेरिएबल्स की ज़रूरत होती है, जो integer, character, floating-point, boolean आदि हो सकते हैं। वेरिएबल का
typeपूरी तरह इस बात पर आधारित होता है कि वह किस तरह की जानकारी रखता है। यदि किसी वेरिएबल को integer असाइन किया गया है, तो उसका डेटा प्रकारintहोगा। वेरिएबल्स मूल रूप से आरक्षित मेमोरी लोकेशन होते हैं जहाँ मान स्टोर किए जाते हैं। जैसे ही आप कोई वेरिएबल बनाते हैं, उसके लिए कुछ मेमोरी स्पेस आरक्षित हो जाता है।किसी वेरिएबल के डेटा प्रकार के आधार पर, ऑपरेटिंग सिस्टम कुछ मेमोरी अलॉट करेगा। उदाहरण के लिए, R प्रोग्रामिंग में, एक वेरिएबल जो integer रखता है वह 4 बाइट मेमोरी और character के लिए 1 बाइट आरक्षित करेगा।
C, C++, और Java जैसी प्रोग्रामिंग भाषाओं में वेरिएबल्स को डेटा प्रकार के रूप में डिक्लेयर किया जाता है; जबकि Python और R में वेरिएबल्स एक object होते हैं। ऑब्जेक्ट्स मूल रूप से एक डेटा संरचना हैं जिनमें कुछ attributes और methods होते हैं, जो उन्हीं attributes पर लागू होते हैं।
R-objects या डेटा संरचनाओं के कई प्रकार होते हैं जिन पर इस ट्यूटोरियल में चर्चा की जाएगी, जैसे:
Vectors
Lists
Matrices
Arrays
Factors
Data Frames
आइए पहले उन कुछ बुनियादी डेटा प्रकारों को समझते हैं जिन पर R-objects बने होते हैं, जैसे Numeric, Integer, Character, Factor, और Logical।
आप
class()कीवर्ड का उपयोग करकेaका डेटा प्रकार देख सकते हैं।as.integer()का उपयोग करते हैं और वेरिएबल को आर्ग्युमेंट के रूप में पास करते हैं।इसे प्राप्त करने के लिए, आप
c()फ़ंक्शन का उपयोग करेंगे, जो सभी तत्वों को मिलाकर एक वेक्टर (एक-आयामी) लौटाता है।facफैक्टर में good, bad और ugly के तीन स्तर हैं, जिन्हेंlevelsकीवर्ड से जाँचा जा सकता है, और स्तर का प्रकार character होगा।आगे बढ़ने से पहले, दो महत्वपूर्ण टिप्स समझ लेते हैं जो बहुत काम आ सकती हैं!
ls()कीवर्ड के जरिए देख सकते हैं, जैसा नीचे दिखाया गया है।लिस्ट्स
वेक्टर के विपरीत, एक लिस्ट में विभिन्न डेटा प्रकारों के तत्व हो सकते हैं और इसे अक्सर मानों का क्रमबद्ध संग्रह कहा जाता है। इसमें वेक्टर, फ़ंक्शंस, मैट्रिक्स, और यहाँ तक कि दूसरी लिस्ट (nested-list) भी हो सकती है।
R में लिस्ट्स one-indexed होती हैं, यानी इंडेक्सिंग एक से शुरू होती है।
एक त्वरित उदाहरण से लिस्ट की अवधारणा समझते हैं, जिसमें एक ही लिस्ट में तीन अलग-अलग डेटा प्रकार होंगे।
Levels:
Levels:
आइए लिस्ट में मौजूद प्रत्येक वेक्टर को अलग-अलग एक्सेस करें। ऐसा करने के लिए, आप
double square bracketsका उपयोग करेंगे क्योंकि तीनों वेक्टर लिस्ट के अंदर एक ही स्तर पर हैं।python combined_list[[1]]python combined_list[[2]]Levels:
अब, तीसरे वेक्टर के पाँचवें तत्व को एक्सेस करने की कोशिश करते हैं, जो अक्षर
eदेता है।अंत में, लिस्ट को flatten करने की कोशिश करते हैं। एक महत्वपूर्ण बात याद रखने की यह है कि चूँकि
combined_listcharacterऔरnumericडेटाटाइप का संयोजन है, इसलिएcharacterडेटा प्रकार को प्राथमिकता मिलेगी और पूरी लिस्ट का डेटा प्रकारcharacterबन जाएगा।वेक्टर
वेक्टर एक ऑब्जेक्ट है जिसका उपयोग एक ही डेटा प्रकार की कई जानकारी या मानों को स्टोर करने के लिए किया जाता है। एक वेक्टर में integer और character दोनों का संयोजन नहीं हो सकता। उदाहरण के लिए, यदि आप 100 छात्रों के कुल अंक स्टोर करना चाहते हैं, तो प्रत्येक छात्र के लिए 100 अलग-अलग वेरिएबल बनाने की बजाय आप लंबाई 100 का एक वेक्टर बनाएँगे, जो सभी छात्रों के अंक रखेगा।
वेक्टर
c()फ़ंक्शन से बनाया जा सकता है, जो सभी तत्वों को मिलाकर एक एक-आयामी array लौटाता है।आइए पाँच छात्रों के डेटा के साथ
numericवर्ग का एक वेक्टरmarksबनाते हैं।वेक्टर की लंबाई जाँचते हैं, जो इसमें निहित तत्वों की संख्या लौटाएगी।
अब, किसी विशिष्ट इंडेक्स से तत्व एक्सेस करते हैं।
<NA>
Slicing: Python की तरह, R में भी slicing की अवधारणा लागू की जा सकती है।
आइए slicing का उपयोग करके दूसरे से पाँचवें तक के तत्व एक्सेस करें।
अब एक
characterवेक्टर बनाते हैं, जो numeric वेक्टर की तरह ही बनाया जाता है।'character'
यदि हम ऐसा वेक्टर बनाते हैं जिसमें numeric और character दोनों मान हों, तो numeric मान character डेटा प्रकार में बदल जाएँगे।
स्लाइसिंग की अवधारणा की मदद से 1024 numeric मानों वाला एक वेक्टर बनाते हैं।
अब मध्य और अंतिम तत्व एक्सेस करने की कोशिश करें। इसके लिए आप
lengthफ़ंक्शन का उपयोग करेंगे।विषम संख्याओं का वेक्टर बनाने के लिए, आप
seqफ़ंक्शन का उपयोग कर सकते हैं, जो तीन पैरामीटर लेता है: शुरुआत, अंत, और step size।मैट्रिक्स
वेक्टर की तरह, मैट्रिक्स का उपयोग भी एक ही डेटा प्रकार की जानकारी स्टोर करने के लिए किया जाता है। लेकिन वेक्टर के विपरीत, मैट्रिक्स अपने अंदर द्वि-आयामी जानकारी रख सकते हैं।
मैट्रिक्स परिभाषित करने का सिंटैक्स:
byrow=TRUEका अर्थ है कि मैट्रिक्स को पंक्तियों के अनुसार भरा जाना चाहिए।byrow=FALSEइंगित करता है कि मैट्रिक्स को स्तंभों के अनुसार भरा जाना चाहिए (डिफ़ॉल्ट)।आइए जल्दी से आकार $2\times3$ का एक मैट्रिक्स
Mपरिभाषित करें।स्लाइसिंग की अवधारणा का उपयोग करते हैं और पंक्ति तथा स्तंभ से तत्व निकालते हैं।
डेटाफ्रेम
मैट्रिक्स के विपरीत, डेटा फ्रेम एक अधिक सामान्यीकृत रूप है। इसमें डेटा सारणीबद्ध रूप में होता है। डेटा फ्रेम में डेटा विभिन्न स्तंभों में फैला हो सकता है, जिनके डेटा प्रकार अलग-अलग हो सकते हैं। पहला स्तंभ character, दूसरा integer और तीसरा logical हो सकता है।
वेरिएबल्स या फ़ीचर्स स्तंभों में होते हैं, जिन्हें
headerभी कहा जाता है, जबकि प्रेक्षण (observations) पंक्तियों में होते हैं, जहाँ पहला तत्व पंक्ति का नाम होता है और उसके बाद वास्तविक डेटा, जिसेdata rowsकहा जाता है।डेटाफ्रेम
data.frame()फ़ंक्शन का उपयोग करके बनाया जा सकता है।डेटाफ्रेम का व्यापक उपयोग कॉमा-सेपरेटेड फाइल्स (CSV), टेक्स्ट फाइल्स पढ़ने में होता है। इनका उपयोग केवल डेटा पढ़ने तक सीमित नहीं है; आप इन्हें मशीन लर्निंग समस्याओं में भी उपयोग कर सकते हैं, खासकर जब आप संख्यात्मक डेटा से निपट रहे हों। डेटा समझने, डेटा रैंगलिंग, plotting और visualization के लिए डेटा फ्रेम उपयोगी होते हैं।
एक डमी डेटासेट बनाते हैं और कुछ डेटा फ्रेम-विशिष्ट फ़ंक्शंस सीखते हैं।
आइए
headफ़ंक्शन देखते हैं जो तब बहुत उपयोगी होता है जब आपके पास लाखों रिकॉर्ड हों और आप केवल शुरुआती कुछ पंक्तियाँ देखना चाहते हों। इसी तरह,tailफ़ंक्शन आपके डेटा की अंतिम कुछ पंक्तियाँ आउटपुट करेगा।अब
summary()फ़ंक्शन देखते हैं, जो तब उपयोगी होता है जब आप अपने डेटासेट के सांख्यिकीय पहलुओं को समझना चाहते हों। जैसा कि नीचे दिखाया गया है, यह आपके डेटा को तीन क्वार्टाइल में बाँटता है, जिसके आधार पर आप डेटा के वितरण के बारे में कुछ सहज समझ बना सकते हैं। यह यह भी दिखाता है कि आपके डेटासेट में कोई missing values हैं या नहीं।निष्कर्ष
ट्यूटोरियल पूरा करने पर बधाई।
यह ट्यूटोरियल R प्रोग्रामिंग भाषा सीखने के इच्छुक शुरुआती लोगों के लिए एक अच्छा शुरुआती बिंदु था। एक अच्छे अभ्यास के रूप में, निःसंकोच प्रत्येक डेटा प्रकार से संबंधित और सहायक फ़ंक्शंस देखें।
R से संबंधित बहुत-सी जानकारियाँ अभी शेष हैं जैसे R में कंटिडिशनल्स और कंट्रोल फ्लो, R में यूटिलिटीज, और सबसे रोचक—R का उपयोग करके मशीन लर्निंग—जिन्हें भविष्य के ट्यूटोरियल्स में कवर किया जाएगा, तो जुड़े रहें!
कृपया इस ट्यूटोरियल से संबंधित कोई भी प्रश्न नीचे कमेंट सेक्शन में पूछें।
यदि आप R के बारे में और सीखना चाहते हैं, तो DataCamp का Intermediate R कोर्स लें और Introduction to Data frames in R ट्यूटोरियल देखें।