الگوریتم اول

لطفا صبر کنید...

ساختارهای داده‌ای در R

در زبان برنامه‌نویسی R، ساختارهای داده‌ای مختلفی وجود دارد که به شما امکان می‌دهند داده‌ها را به روش‌های مختلف سازماندهی و پردازش کنید. مهم‌ترین ساختارهای داده‌ای در R عبارتند از وکتورها (Vectors)، ماتریس‌ها (Matrices)، لیست‌ها (Lists)، فریم‌های داده (Data Frames)، و فاکتورها (Factors). در اینجا با هر یک از این ساختارها آشنا می‌شویم.

۱. وکتورها (Vectors)

وکتورها یکی از پایه‌ای‌ترین ساختارهای داده‌ای در R هستند. وکتورها مجموعه‌ای از داده‌ها هستند که در آن‌ها تمام مقادیر باید از یک نوع داده مشابه باشند (مثل مجموعه‌ای از اعداد یا رشته‌ها). برای ایجاد یک وکتور از تابع ()c استفاده می‌شود.

ویژگی‌ها:

  • همه مقادیر وکتور باید از یک نوع داده مشابه باشند.
  • می‌توانند شامل مقادیر عددی، رشته‌ای، منطقی و غیره باشند.

نمونه:

# وکتور عددی
v_numeric <- c(1, 2, 3, 4, 5)

# وکتور متنی
v_char <- c("سلام", "دنیا", "خوش آمدید")

# وکتور منطقی
v_logical <- c(TRUE, FALSE, TRUE)

عملیات بر روی وکتورها:

  • جمع یا ضرب کردن وکتورها
  • دسترسی به عناصر خاص وکتور
v_numeric[2]  # دسترسی به دومین عنصر وکتور
v_numeric + 2  # جمع عدد 2 به تمام عناصر وکتور

۲. ماتریس‌ها (Matrices)

ماتریس‌ها یک ساختار داده‌ای دو بعدی هستند که می‌توانند مقادیر را در سطرها و ستون‌ها ذخیره کنند. همه مقادیر در یک ماتریس باید از یک نوع داده مشابه باشند. ماتریس‌ها برای انجام عملیات ریاضی مانند ضرب ماتریس‌ها یا حل معادلات خطی مفید هستند.

ویژگی‌ها:

  • ماتریس‌ها از سطرها و ستون‌ها تشکیل شده‌اند.
  • مقادیر ماتریس باید از یک نوع داده مشابه باشند.
  • برای ساخت یک ماتریس از تابع matrix() استفاده می‌شود.

نمونه:

m <- matrix(1:6, nrow=2, ncol=3)  # یک ماتریس 2x3
m

دستکاری ماتریس‌ها:

  • انتخاب یک سطر یا ستون خاص
  • انجام عملیات بر روی ماتریس‌ها مانند جمع یا ضرب ماتریس‌ها
m[1, ]  # دسترسی به اولین سطر
m[, 2]  # دسترسی به دومین ستون
m + 2    # جمع 2 به تمام مقادیر ماتریس

۳. لیست‌ها (Lists)

لیست‌ها یکی از انعطاف‌پذیرترین ساختارهای داده‌ای در R هستند. لیست‌ها می‌توانند انواع مختلف داده‌ها را در خود نگهداری کنند، از جمله وکتورها، ماتریس‌ها، فریم‌های داده، و حتی لیست‌های دیگر.

ویژگی‌ها:

  • لیست‌ها می‌توانند داده‌هایی از انواع مختلف داشته باشند.
  • برای ساخت یک لیست از تابع list() استفاده می‌شود.

نمونه:

my_list <- list(name="Ali", age=25, is_student=TRUE, scores=c(85, 90, 78))
my_list

دستکاری لیست‌ها:

  • دسترسی به عناصر لیست با استفاده از [[ ]] یا $
my_list[[1]]  # دسترسی به اولین عنصر لیست
my_list$name  # دسترسی به عنصر با نام 'name'

۴. فریم‌های داده (Data Frames)

فریم‌های داده یک نوع ساختار داده‌ای دو بعدی هستند که مشابه به جدول‌های پایگاه داده عمل می‌کنند. در فریم‌های داده، هر ستون می‌تواند نوع داده متفاوتی داشته باشد (مثلاً یک ستون عددی و دیگری رشته‌ای). فریم‌های داده برای ذخیره و پردازش داده‌های پیچیده‌تر، مانند داده‌های آماری یا اطلاعات موجود در فایل‌های CSV، بسیار مفید هستند.

ویژگی‌ها:

  • هر ستون می‌تواند نوع داده متفاوتی داشته باشد.
  • برای ساخت یک فریم داده از تابع data.frame() استفاده می‌شود.

نمونه:

df <- data.frame(name=c("Ali", "Sara"), age=c(25, 22), score=c(85, 90))
df

دستکاری فریم‌های داده:

  • انتخاب ستون یا سطر خاص
  • فیلتر کردن داده‌ها
df$age  # دسترسی به ستون 'age'
df[1, ]  # دسترسی به اولین سطر
df[df$age > 23, ]  # فیلتر کردن داده‌ها بر اساس شرط

۵. فاکتورها (Factors)

فاکتورها در R برای ذخیره‌سازی داده‌های دسته‌ای (Categorical Data) استفاده می‌شوند. این نوع داده‌ها معمولاً مقادیری دارند که محدود به چند دسته یا سطح هستند (مثلاً جنسیت با دو سطح "مرد" و "زن").

ویژگی‌ها:

  • فاکتورها برای داده‌های دسته‌ای استفاده می‌شوند.
  • هر فاکتور شامل یک یا چند سطح (levels) است.

نمونه:

gender <- factor(c("Male", "Female", "Male", "Female"))
gender

دستکاری فاکتورها:

  • مشاهده سطوح فاکتور
levels(gender)  # مشاهده سطوح فاکتور

جمع‌بندی

در زبان R، ساختارهای داده‌ای مختلفی برای ذخیره و پردازش داده‌ها وجود دارد که به شما امکان می‌دهند داده‌ها را به شیوه‌ای سازمان‌دهی کنید که برای تحلیل‌های مختلف مناسب باشد. از جمله این ساختارها می‌توان به وکتورها، ماتریس‌ها، لیست‌ها، فریم‌های داده و فاکتورها اشاره کرد که هرکدام ویژگی‌ها و کاربردهای خاص خود را دارند.