Learn in 10 minutes

Learn in 10 minutes

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 सीखना जारी रखने के लिए:

  1. अभ्यास: छोटी डेटा विश्लेषण परियोजनाओं पर काम करें
  2. पैकेजेस एक्सप्लोर करें: dplyr, ggplot2, tidyr और अन्य आवश्यक पैकेजेस सीखें
  3. ऑनलाइन संसाधन: R डॉक्यूमेंटेशन, Stack Overflow और R-bloggers का उपयोग करें
  4. किताबें: “R for Data Science” by Hadley Wickham
  5. कोर्सेस: R के साथ डेटा विश्लेषण पर ऑनलाइन कोर्सेस लें

R सांख्यिकीय कंप्यूटिंग और डेटा विश्लेषण के लिए एक शक्तिशाली टूल है। अभ्यास के साथ, आप जटिल डेटा मैनिपुलेशन करने, सुंदर विज़ुअलाइज़ेशन बनाने और परिष्कृत सांख्यिकीय विश्लेषण करने में सक्षम होंगे।