R एक उच्च-स्तरीय प्रोग्रामिंग भाषा और मुफ्त सॉफ़्टवेयर वातावरण है, जिसका मुख्य उपयोग सांख्यिकीय गणना और डेटा विश्लेषण के लिए किया जाता है। इसे सांख्यिकीविदों, डेटा वैज्ञानिकों और अकादमिकों द्वारा इसके शक्तिशाली डेटा हेरफेर, सांख्यिकीय मॉडलिंग और ग्राफिकल क्षमताओं के लिए पसंद किया जाता है। R विभिन्न कार्यों के लिए अनुकूल बनाने के लिए इसकी कार्यक्षमता को बढ़ाने वाले कई पैकेज प्रदान करता है, जैसे डेटा माइनिंग, बायोइन्फॉर्मेटिक्स, और यहां तक कि मशीन लर्निंग।
R का निर्माण 1990 के दशक की शुरुआत में रॉस इहाका और रॉबर्ट जेंटलमैन द्वारा न्यूजीलैंड के ऑकलैंड विश्वविद्यालय में किया गया था। इसे S प्रोग्रामिंग भाषा पर आधारित एक ओपन-सोर्स भाषा के रूप में विकसित किया गया था, जिसे 1970 के दशक में बेल प्रयोगशालाओं में विकसित किया गया था। R को एक सांख्यिकीय उपकरण और प्रोग्रामिंग भाषा दोनों के रूप में डिज़ाइन किया गया था, जिससे उपयोगकर्ताओं को डेटा को आसानी से हेरफेर करने और उच्च गुणवत्ता वाले ग्राफिकल आउटपुट उत्पन्न करने में सक्षम बनाया जा सके।
वर्षों के दौरान, R ने एक बढ़ती हुई उपयोगकर्ता समुदाय और एक महत्वपूर्ण संबंधित पैकेज पारिस्थितिकी तंत्र, जिसे CRAN (कंप्रीहेंसिव R आर्काइव नेटवर्क) के रूप में जाना जाता है, को आकर्षित किया। यह नेटवर्क उपयोगकर्ताओं को R की क्षमताओं को बढ़ाने वाले विभिन्न पुस्तकालयों को डाउनलोड और स्थापित करने की अनुमति देता है। 2000 के दशक की शुरुआत में, R ने शैक्षणिक और औद्योगिक सर्कलों में लोकप्रियता प्राप्त करना शुरू कर दिया, और इसे कई क्षेत्रों में शोध पत्रों में बार-बार उद्धृत किया गया।
2023 तक, R डेटा विज्ञान और सांख्यिकीय विश्लेषण में एक प्रमुख भाषा बनी हुई है। यह नियमित अपडेट, नए पैकेज और एक सक्रिय समुदाय के साथ विकसित हुआ है, जो निरंतर सुधार और संवर्द्धन में योगदान कर रहा है। R को अन्य प्रोग्रामिंग भाषाओं और ढांचों के साथ एकीकरण के लिए भी पहचाना जाता है, जो आधुनिक डेटा विश्लेषण में इसकी भूमिका को और मजबूत करता है।
R में वेक्टर इसकी प्राथमिक डेटा संरचनाओं में से एक है। एक वेक्टर समान प्रकार के कई मानों को रख सकता है, जिससे यह डेटा हेरफेर के लिए आवश्यक हो जाता है।
numbers <- c(1, 2, 3, 4, 5)
डेटा फ्रेम एक और मौलिक संरचना है, जो डेटा को एक तालिका प्रारूप में संग्रहीत करने की अनुमति देती है, जहां प्रत्येक कॉलम विभिन्न प्रकार का हो सकता है।
data <- data.frame(Name=c("Alice", "Bob"), Age=c(25, 30))
R पहले श्रेणी के फ़ंक्शनों का समर्थन करता है, जिससे उपयोगकर्ताओं को फ़ंक्शन को आसानी से परिभाषित और कॉल करने की अनुमति मिलती है।
add <- function(x, y) {
return(x + y)
}
result <- add(5, 3)
मानक नियंत्रण संरचनाएँ, जैसे if
, else
, और for
लूप, R की सिंटैक्स के अभिन्न भाग हैं।
for (i in 1:5) {
print(i)
}
R में व्यापक अंतर्निहित प्लॉटिंग क्षमताएँ हैं, जो एकल फ़ंक्शन कॉल के साथ दृश्य प्रस्तुतियों को बनाने की अनुमति देती हैं।
plot(data$Age, main="Age Plot", xlab="Index", ylab="Age")
उपयोगकर्ता CRAN से सीधे R के माध्यम से अतिरिक्त पैकेज स्थापित कर सकते हैं, install.packages()
फ़ंक्शन का उपयोग करके।
install.packages("ggplot2")
R सूचियों का समर्थन करता है, जो मिश्रित प्रकारों को रख सकती हैं, और वातावरण जो चर के दायरे को परिभाषित करते हैं।
my_list <- list(name="Alice", age=25, height=5.5)
R में स्ट्रिंग्स को जोड़ने के लिए अंतर्निहित फ़ंक्शनों जैसे paste()
का उपयोग करके हेरफेर किया जा सकता है।
greeting <- paste("Hello", "World")
R वेक्टराइज्ड ऑपरेशन्स का उपयोग करता है जो डेटा संरचनाओं पर बैच प्रोसेसिंग की अनुमति देते हैं।
squared <- numbers^2
फैक्टर्स का उपयोग श्रेणीबद्ध डेटा को संभालने के लिए किया जाता है, जिससे R उन्हें विश्लेषण के दौरान उचित रूप से संभाल सके।
categories <- factor(c("High", "Medium", "Low"))
कई IDEs R डेवलपर्स के बीच लोकप्रिय हैं:
R एक व्याख्यायित भाषा के रूप में कार्य करता है, जो R इंटरप्रेटर का उपयोग करता है, जो R कोड के तात्कालिक निष्पादन की अनुमति देता है। यदि आप अपने कोड को साझा करने में रुचि रखते हैं, तो R टूल्स पैकेज R पैकेज बनाने के लिए आवश्यक घटक प्रदान करता है।
आमतौर पर, एक R प्रोजेक्ट को R/
निर्देशिका में स्क्रिप्ट, data/
फ़ोल्डर में डेटा, और docs/
फ़ोल्डर में दस्तावेज़ों के साथ संरचित किया जाता है। उपयोगकर्ता संस्करण नियंत्रण प्रणालियों जैसे Git का उपयोग करके प्रोजेक्ट की जांच कर सकते हैं।
R का उपयोग विभिन्न क्षेत्रों में किया जाता है:
caret
और randomForest
जैसे पैकेजों का उपयोग करके भविष्यवाणी मॉडल बनाना।ggplot2
जैसी लाइब्रेरी का उपयोग करके डेटा व्याख्या के लिए ग्राफिक्स बनाना।अन्य भाषाओं जैसे Python की तुलना में, R सांख्यिकीय विश्लेषण और दृश्यता के लिए विशेषीकृत है। Python एक व्यापक अनुप्रयोग दायरा प्रदान करता है लेकिन डेटा विज्ञान के साथ बढ़ती हुई एकीकरण के साथ Pandas और NumPy जैसी लाइब्रेरी के माध्यम से। C++ आमतौर पर तेज निष्पादन प्रदान करता है लेकिन R की सांख्यिकीय क्षमताओं की कमी है।
Java मजबूत उद्यम समाधान प्रदान करता है, जबकि R त्वरित विश्लेषण और अनुसंधान में उत्कृष्ट है। SAS या MATLAB जैसी भाषाएँ भी सांख्यिकीय विश्लेषण के लिए अनुकूलित हैं लेकिन ओपन-सोर्स नहीं हैं, जबकि R सामुदायिक योगदान पर निर्भर करता है।
अन्य भाषाओं में R कोड का अनुवाद करने के लिए, Rcpp जैसे मौजूदा स्रोत से स्रोत अनुवाद उपकरण R से C++ के लिए प्रदर्शन के लिए फायदेमंद हो सकते हैं। इसके अतिरिक्त, उपयोगकर्ता Python में अनुवाद को सुविधाजनक बनाने वाली लाइब्रेरी जैसे rpy2
का अन्वेषण कर सकते हैं, जो R फ़ंक्शनों और डेटा फ्रेम को Python स्क्रिप्ट में एकीकृत करने की अनुमति देती हैं।
इसके अलावा, reticulate
जैसे उपकरण R को Python वातावरण में एकीकृत करने में मदद कर सकते हैं, जिससे R को Python लाइब्रेरी के साथ सहजता से उपयोग किया जा सके।