R چیست؟ آموزش کامل و جامع R
فهرست مطالب
R چیست؟
R یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و تحلیل داده است. این زبان بهطور گسترده در میان دانشمندان داده، آمارشناسان و محققان مورد استفاده قرار میگیرد.
# ایجاد یک وکتور از اعداد
numbers <- c(1, 2, 3, 4, 5)
# محاسبه میانگین
mean_value <- mean(numbers)
# رسم نمودار ساده
plot(numbers, type = "l", main = "نمودار خطی ساده")
تاریخچه R
R در سال ۱۹۹۳ توسط راس ایهاکا و رابرت جنتلمن در دانشگاه اوکلند نیوزیلند توسعه یافت. این زبان بر اساس زبان S که در آزمایشگاههای بل توسعه یافته بود، ایجاد شد.
ساختار پایه R
برنامهنویسی در R با مفاهیم پایهای زیر آغاز میشود:
# تعریف متغیر
x <- 10
# تعریف تابع
my_function <- function(x) {
return(x * 2)
}
# ایجاد لیست
my_list <- list(
name = "John",
age = 30,
scores = c(85, 92, 78)
)
# استفاده از data frame
df <- data.frame(
name = c("علی", "مریم", "رضا"),
age = c(25, 30, 28),
city = c("تهران", "مشهد", "اصفهان")
)
انواع داده در R
R از انواع مختلف دادهای پشتیبانی میکند که برای تحلیل داده و محاسبات آماری ضروری هستند.
# عددی (Numeric)
x <- 42.5
# صحیح (Integer)
y <- 42L # L برای مشخص کردن عدد صحیح
# منطقی (Logical)
is_true <- TRUE
# رشتهای (Character)
text <- "Hello, R!"
# فاکتور (Factor)
gender <- factor(c("مرد", "زن", "مرد"), levels = c("مرد", "زن"))
# تاریخ (Date)
today <- as.Date("2024-01-15")
توابع در R
توابع در R بلوکهای اساسی برای ساخت برنامههای پیچیده هستند. شما میتوانید توابع خود را تعریف کنید یا از توابع داخلی R استفاده کنید.
# تعریف تابع ساده
calculate_mean <- function(x) {
if (!is.numeric(x)) {
stop("ورودی باید عددی باشد")
}
return(mean(x, na.rm = TRUE))
}
# تابع با چند پارامتر
analyze_data <- function(data, column, fun = mean) {
result <- fun(data[[column]])
return(list(
column = column,
result = result
))
}
# استفاده از تابع
numbers <- c(1:10)
mean_result <- calculate_mean(numbers)
print(mean_result)
پکیجهای R
پکیجها در R مجموعهای از توابع، دادهها و مستندات هستند که قابلیتهای R را گسترش میدهند.
پکیجهای محبوب R
# نصب پکیجها
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("dplyr")
# بارگذاری پکیجها
library(tidyverse)
library(ggplot2)
library(dplyr)
# مثال استفاده از dplyr
mtcars %>%
group_by(cyl) %>%
summarise(
mean_mpg = mean(mpg),
count = n()
)
نمودارسازی در R
R یکی از قویترین ابزارها برای نمودارسازی داده است. پکیج ggplot2 امکانات پیشرفتهای برای ویژوالسازی داده فراهم میکند.
# نمودار پراکندگی
ggplot(mtcars, aes(x = wt, y = mpg)) +
geom_point() +
theme_minimal() +
labs(
title = "رابطه وزن و مصرف سوخت",
x = "وزن خودرو",
y = "مصرف سوخت"
)
# نمودار جعبهای
ggplot(mtcars, aes(x = factor(cyl), y = mpg)) +
geom_boxplot() +
theme_classic() +
labs(title = "مقایسه مصرف سوخت در سیلندرهای مختلف")
تحلیل داده در R
R ابزارهای قدرتمندی برای پاکسازی، دستکاری و تحلیل دادهها ارائه میدهد.
# خواندن داده
data <- read.csv("data.csv")
# پاکسازی داده
clean_data <- data %>%
drop_na() %>%
filter(age > 0) %>%
mutate(
age_group = case_when(
age < 20 ~ "جوان",
age < 40 ~ "میانسال",
TRUE ~ "مسن"
)
)
# تحلیل توصیفی
summary_stats <- clean_data %>%
group_by(age_group) %>%
summarise(
count = n(),
mean_salary = mean(salary),
sd_salary = sd(salary)
)
آمار در R
R امکانات گستردهای برای انجام تحلیلهای آماری از پایه تا پیشرفته ارائه میدهد.
# آزمون t
t.test(data$group1, data$group2)
# رگرسیون خطی
model <- lm(price ~ size + rooms, data = housing_data)
summary(model)
# تحلیل واریانس
aov_result <- aov(yield ~ treatment, data = crop_data)
summary(aov_result)
بهترین شیوههای کدنویسی R
رعایت اصول کدنویسی تمیز در R به خوانایی و نگهداری کد کمک میکند:
۱. نامگذاری متغیرها
از نامهای معنادار و خوانا استفاده کنید.
۲. مستندسازی
کد خود را با کامنتهای مناسب مستند کنید.
۳. مدیریت پکیجها
از فایل پروژه برای مدیریت پکیجها استفاده کنید.
محیطهای توسعه R
محیطهای توسعه یکپارچه (IDE) مناسب برای کار با R:
۱. RStudio
محبوبترین IDE برای R با امکانات گسترده
۲. Visual Studio Code
با نصب افزونه R
۳. Jupyter Notebook
برای تحلیل داده تعاملی
منابع و ابزارهای مفید
مستندات و آموزش
-
وبسایت رسمی R
-
مستندات پکیجها
- Quick-R
جامعه و انجمنها
-
Stack Overflow R
-
RStudio Community