10 मिनट में R सीखें
R एक शक्तिशाली प्रोग्रामिंग भाषा और वातावरण है जो सांख्यिकीय कंप्यूटिंग, डेटा विश्लेषण और विज़ुअलाइज़ेशन के लिए बनाया गया है। यह ट्यूटोरियल R प्रोग्रामिंग की शुरुआत करने के लिए आवश्यक अवधारणाओं को कवर करता है।
1. R के साथ शुरुआत करना
एक सरल प्रोग्राम से शुरू करते हैं। R या RStudio खोलें और निम्नलिखित कोड दर्ज करें:
print("Hello, World!")
आप इसे R कंसोल में भी चला सकते हैं। आउटपुट इस प्रकार होगा:
[1] "Hello, World!"
यह सरल प्रोग्राम R की बुनियादी आउटपुट कार्यक्षमता को प्रदर्शित करता है। print()
फ़ंक्शन कंसोल में टेक्स्ट जानकारी प्रदर्शित करता है।
2. बेसिक सिंटैक्स और वेरिएबल्स
R का सिंटैक्स सांख्यिकीय कंप्यूटिंग और डेटा विश्लेषण के लिए डिज़ाइन किया गया है। आइए बुनियादी वेरिएबल असाइनमेंट और ऑपरेशन्स का पता लगाएं।
# यह एक कमेंट है
x <- 5 # <- ऑपरेटर का उपयोग करके असाइनमेंट
y = 10 # = ऑपरेटर का उपयोग करके असाइनमेंट (कम आम)
print(x + y)
R में बेसिक सिंटैक्स नियम:
- असाइनमेंट: वेरिएबल असाइनमेंट के लिए
<-
का उपयोग करें (पसंदीदा) या=
- कमेंट्स: सिंगल-लाइन कमेंट्स
#
से शुरू होते हैं - फ़ंक्शन्स: फ़ंक्शन कॉल के लिए कोष्ठक
()
का उपयोग करें - वेक्टर्स: R वेक्टराइज्ड है - ऑपरेशन्स पूरे वेक्टर्स पर काम करते हैं
3. डेटा टाइप्स और स्ट्रक्चर्स
R में सांख्यिकीय कंप्यूटिंग के लिए कई मौलिक डेटा टाइप्स और स्ट्रक्चर्स हैं।
3.1 बेसिक डेटा टाइप्स
# न्यूमेरिक (डबल)
num <- 3.14
print(class(num))
# इंटीजर
int <- 42L
print(class(int))
# कैरेक्टर (स्ट्रिंग)
text <- "Hello R"
print(class(text))
# लॉजिकल (बूलियन)
flag <- TRUE
print(class(flag))
3.2 वेक्टर्स
वेक्टर्स R में मौलिक डेटा स्ट्रक्चर हैं। वे एक-आयामी एरे हैं जो न्यूमेरिक, कैरेक्टर या लॉजिकल डेटा रख सकते हैं।
# वेक्टर्स बनाना
numeric_vector <- c(1, 2, 3, 4, 5)
character_vector <- c("apple", "banana", "cherry")
logical_vector <- c(TRUE, FALSE, TRUE)
# वेक्टर ऑपरेशन्स
print(numeric_vector * 2) # प्रत्येक एलिमेंट को 2 से गुणा करें
print(numeric_vector + 1) # प्रत्येक एलिमेंट में 1 जोड़ें
print(length(numeric_vector)) # वेक्टर लंबाई प्राप्त करें
3.3 लिस्ट्स
लिस्ट्स लचीले कंटेनर हैं जो विभिन्न प्रकार के एलिमेंट्स रख सकते हैं।
# एक लिस्ट बनाना
my_list <- list(
name = "John",
age = 30,
scores = c(85, 92, 78),
active = TRUE
)
# लिस्ट एलिमेंट्स तक पहुंचना
print(my_list$name)
print(my_list[["age"]])
print(my_list[[3]])
3.4 डेटा फ्रेम्स
डेटा फ्रेम्स R में डेटा विश्लेषण के लिए सबसे महत्वपूर्ण डेटा स्ट्रक्चर हैं। वे पंक्तियों और स्तंभों वाली तालिकाओं की तरह हैं।
# एक डेटा फ्रेम बनाना
df <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35),
score = c(88, 92, 85)
)
# डेटा फ्रेम देखना
print(df)
print(str(df)) # डेटा फ्रेम की संरचना
print(summary(df)) # सारांश सांख्यिकी
4. बेसिक ऑपरेशन्स
R गणितीय और लॉजिकल ऑपरेशन्स के लिए ऑपरेटर्स का एक समृद्ध सेट प्रदान करता है।
# अंकगणितीय ऑपरेशन्स
a <- 10
b <- 3
print(a + b) # जोड़
print(a - b) # घटाव
print(a * b) # गुणा
print(a / b) # भाग
print(a ^ b) # घातांक
print(a %% b) # मॉड्यूलस
print(a %/% b) # पूर्णांक भाग
# तुलना ऑपरेशन्स
print(a > b) # से अधिक
print(a == b) # के बराबर
print(a != b) # के बराबर नहीं
print(a <= b) # से कम या बराबर
# लॉजिकल ऑपरेशन्स
print(TRUE & FALSE) # AND
print(TRUE | FALSE) # OR
print(!TRUE) # NOT
5. कंट्रोल स्ट्रक्चर्स
R प्रोग्राम फ्लो के लिए मानक कंट्रोल स्ट्रक्चर्स प्रदान करता है।
5.1 if स्टेटमेंट्स
age <- 20
if (age >= 18) {
print("Adult")
} else if (age >= 13) {
print("Teen")
} else {
print("Child")
}
5.2 for लूप्स
# एक वेक्टर पर इटरेट करना
fruits <- c("apple", "banana", "cherry")
for (fruit in fruits) {
print(fruit)
}
# सीक्वेंस का उपयोग करना
for (i in 1:5) {
print(paste("Number:", i))
}
5.3 while लूप्स
count <- 1
while (count <= 5) {
print(count)
count <- count + 1
}
6. फ़ंक्शन्स
R में फ़ंक्शन्स विशिष्ट कार्यों के लिए पुन: प्रयोज्य कोड ब्लॉक हैं।
# बेसिक फ़ंक्शन परिभाषा
calculate_area <- function(length, width) {
area <- length * width
return(area)
}
# फ़ंक्शन को कॉल करना
result <- calculate_area(5, 3)
print(result)
# डिफ़ॉल्ट पैरामीटर्स वाला फ़ंक्शन
greet <- function(name = "Guest") {
return(paste("Hello,", name))
}
print(greet("Alice"))
print(greet()) # डिफ़ॉल्ट पैरामीटर का उपयोग करता है
7. डेटा मैनिपुलेशन
R डेटा मैनिपुलेशन में उत्कृष्ट है। आइए कुछ बुनियादी ऑपरेशन्स का पता लगाएं।
# सैंपल डेटा फ्रेम
students <- data.frame(
name = c("Alice", "Bob", "Charlie", "Diana"),
math_score = c(85, 92, 78, 95),
science_score = c(88, 90, 82, 96),
grade = c("A", "A", "B", "A")
)
# डेटा सबसेटिंग
print(students[students$math_score > 85, ]) # वे पंक्तियाँ जहाँ math_score > 85
print(students[, c("name", "math_score")]) # विशिष्ट स्तंभ
# नए स्तंभ जोड़ना
students$total_score <- students$math_score + students$science_score
students$average_score <- students$total_score / 2
print(students)
8. डेटा विज़ुअलाइज़ेशन
R में शक्तिशाली विज़ुअलाइज़ेशन क्षमताएं हैं, विशेष रूप से ggplot2 के साथ।
# बेसिक प्लॉटिंग (बेस R)
# कुछ सैंपल डेटा बनाएं
x <- 1:10
y <- x^2
# स्कैटर प्लॉट
plot(x, y, main = "Scatter Plot", xlab = "X", ylab = "Y", col = "blue", pch = 16)
# लाइन प्लॉट
plot(x, y, type = "l", main = "Line Plot", xlab = "X", ylab = "Y", col = "red")
# हिस्टोग्राम
hist(rnorm(100), main = "Histogram", xlab = "Values", col = "lightblue")
8.1 ggplot2 का उपयोग (यदि इंस्टॉल है)
# इंस्टॉल करें और ggplot2 लोड करें यदि पहले से इंस्टॉल नहीं है
# install.packages("ggplot2")
library(ggplot2)
# एक सैंपल डेटा फ्रेम बनाएं
plot_data <- data.frame(
category = c("A", "B", "C", "D"),
value = c(25, 40, 30, 35)
)
# एक बार प्लॉट बनाएं
ggplot(plot_data, aes(x = category, y = value)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(title = "Bar Plot Example", x = "Category", y = "Value") +
theme_minimal()
9. सांख्यिकीय विश्लेषण
R सांख्यिकीय कंप्यूटिंग के लिए डिज़ाइन किया गया है। यहां कुछ बुनियादी सांख्यिकीय फ़ंक्शन्स हैं।
# सैंपल डेटा
data <- c(23, 45, 67, 34, 56, 78, 89, 12, 45, 67)
# बेसिक सांख्यिकी
print(mean(data)) # माध्य
print(median(data)) # माध्यिका
print(sd(data)) # मानक विचलन
print(var(data)) # प्रसरण
print(min(data)) # न्यूनतम
print(max(data)) # अधिकतम
print(summary(data)) # पांच-संख्या सारांश
# सहसंबंध
x <- 1:10
y <- x + rnorm(10) # कुछ शोर जोड़ें
print(cor(x, y)) # सहसंबंध गुणांक
# रैखिक प्रतिगमन
model <- lm(y ~ x)
print(summary(model))
10. फाइलों के साथ काम करना
R फाइलों को पढ़ने और लिखने के लिए फ़ंक्शन्स प्रदान करता है।
# एक फाइल में लिखना
write.csv(students, "students.csv", row.names = FALSE)
# एक फाइल से पढ़ना
# read_data <- read.csv("students.csv")
# print(read_data)
# टेक्स्ट फाइलों के साथ काम करना
# writeLines(c("Line 1", "Line 2", "Line 3"), "example.txt")
# text_content <- readLines("example.txt")
# print(text_content)
11. पैकेजेस और लाइब्रेरीज
R की शक्ति इसके व्यापक पैकेज इकोसिस्टम से आती है।
# पैकेजेस इंस्टॉल करना
# install.packages("dplyr") # डेटा मैनिपुलेशन के लिए
# install.packages("ggplot2") # विज़ुअलाइज़ेशन के लिए
# पैकेजेस लोड करना
library(dplyr)
library(ggplot2)
# डेटा मैनिपुलेशन के लिए dplyr का उपयोग
# students %>%
# filter(math_score > 85) %>%
# select(name, math_score) %>%
# arrange(desc(math_score))
12. एरर हैंडलिंग
R एरर हैंडलिंग के लिए तंत्र प्रदान करता है।
# बेसिक एरर हैंडलिंग
tryCatch({
result <- 10 / 0
print(result)
}, error = function(e) {
print(paste("Error occurred:", e$message))
}, finally = {
print("This always executes")
})
# try() का उपयोग
result <- try(10 / 0, silent = TRUE)
if (inherits(result, "try-error")) {
print("Division failed")
}
13. एडवांस्ड टॉपिक्स
13.1 एप्लाई फैमिली फ़ंक्शन्स
एप्लाई फैमिली फ़ंक्शन्स वेक्टराइज्ड ऑपरेशन्स के लिए शक्तिशाली हैं।
# एक मैट्रिक्स बनाएं
mat <- matrix(1:12, nrow = 3, ncol = 4)
print(mat)
# फ़ंक्शन्स एप्लाई करें
print(apply(mat, 1, mean)) # पंक्ति माध्य
print(apply(mat, 2, sum)) # स्तंभ योग
# लिस्ट्स के लिए lapply
my_list <- list(a = 1:5, b = 6:10, c = 11:15)
print(lapply(my_list, mean)) # प्रत्येक लिस्ट एलिमेंट का माध्य
# sapply (सरलीकृत संस्करण)
print(sapply(my_list, mean))
13.2 स्ट्रिंग मैनिपुलेशन
text <- "Hello R Programming"
print(toupper(text)) # अपरकेस में कन्वर्ट करें
print(tolower(text)) # लोअरकेस में कन्वर्ट करें
print(nchar(text)) # कैरेक्टर्स गिनें
print(substr(text, 1, 5)) # सबस्ट्रिंग निकालें
# stringr पैकेज का उपयोग (यदि इंस्टॉल है)
# library(stringr)
# str_split(text, " ") # स्ट्रिंग स्प्लिट करें
13.3 डेट और टाइम
# वर्तमान दिनांक और समय
current_time <- Sys.time()
print(current_time)
# दिनांक फॉर्मेटिंग
formatted_date <- format(current_time, "%Y-%m-%d")
print(formatted_date)
# दिनांक अंकगणित
today <- Sys.Date()
future_date <- today + 30
print(future_date)
14. बेस्ट प्रैक्टिसेस
यहां बेहतर R कोड लिखने के लिए कुछ सुझाव दिए गए हैं:
- सार्थक वेरिएबल नामों का उपयोग करें
- अपने कोड को उचित रूप से कमेंट करें
- जब संभव हो तो लूप्स के बजाय वेक्टराइज्ड ऑपरेशन्स का उपयोग करें
- अपनी स्क्रिप्ट की शुरुआत में पैकेजेस लोड करें
- सुसंगत इंडेंटेशन का उपयोग करें (2 स्पेस की सिफारिश की जाती है)
- सैंपल डेटा के साथ अपने कोड का परीक्षण करें
- अपनी परियोजनाओं के लिए वर्जन कंट्रोल का उपयोग करें
15. अगले कदम
R सीखना जारी रखने के लिए:
- अभ्यास: छोटी डेटा विश्लेषण परियोजनाओं पर काम करें
- पैकेजेस एक्सप्लोर करें: dplyr, ggplot2, tidyr और अन्य आवश्यक पैकेजेस सीखें
- ऑनलाइन संसाधन: R डॉक्यूमेंटेशन, Stack Overflow और R-bloggers का उपयोग करें
- किताबें: “R for Data Science” by Hadley Wickham
- कोर्सेस: R के साथ डेटा विश्लेषण पर ऑनलाइन कोर्सेस लें
R सांख्यिकीय कंप्यूटिंग और डेटा विश्लेषण के लिए एक शक्तिशाली टूल है। अभ्यास के साथ, आप जटिल डेटा मैनिपुलेशन करने, सुंदर विज़ुअलाइज़ेशन बनाने और परिष्कृत सांख्यिकीय विश्लेषण करने में सक्षम होंगे।