آرایه ها (Arrays)
«آرایه (Array)» ساختاری چندبعدی است. شبیه قفسه های چندطبقه است. هر بعد یک جهت است. برعکس «ماتریس (Matrix)»، فقط دو بعد نیست. همه خانه ها یک نوع داده دارند.
ساخت آرایه با array()
با تابع array() بساز. با پارامتر dim ابعاد را بده؛ مثلاً 4×3×2.
نمونه: آرایه سه بعدی از 1 تا 24
# Flat vector 1..24
thisarray <- c(1:24)
# 3D array: rows=4, cols=3, levels=2
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Print the array
multiarray
نکته: در dim=c(4,3,2) اعداد اول سطر و ستون اند؛ عدد آخر تعداد لایه هاست.
دسترسی به خانه ها
با الگوی [سطر، ستون، لایه] بردار. ایندکس از 1 شروع می شود.
نمونه: یک خانه مشخص
thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Row 2, Column 3, Level 2
multiarray[2, 3, 2]
نمونه: یک سطر یا یک ستون کامل
thisarray <- c(1:24)
# First row in level 1
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[c(1), , 1]
# First column in level 1
multiarray <- array(thisarray, dim = c(4, 3, 2))
multiarray[ , c(1), 1]
نکته: ویرگول قبل از c() یعنی ستون ها؛ ویرگول بعد از c() یعنی سطرها.
بررسی وجود یک مقدار
برای چک کردن وجود مقدار، از عملگر %in% استفاده کن.
نمونه: آیا 2 در آرایه هست؟
thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Membership test
2 %in% multiarray
ابعاد: تعداد سطر و ستون
تابع dim() ابعاد را می دهد؛ سطر، ستون، و شاید لایه.
نمونه: dim آرایه
thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Get dimensions
dim(multiarray)
طول آرایه
تابع length() تعداد کل خانه ها را برمی گرداند.
نمونه: length آرایه
thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Total cells
length(multiarray)
حلقه روی آرایه
با for می توانی روی همه خانه ها بگردی و چاپ کنی.
نمونه: چاپ همه مقادیر
thisarray <- c(1:24)
multiarray <- array(thisarray, dim = c(4, 3, 2))
# Loop over all items
for (x in multiarray) {
print(x)
}
گام های تمرینی
- یک بردار 1..30 بساز و چاپ کن.
- آرایه 5×3×2 بساز و dim بگیر.
- سطر سومِ لایه اول را بردار.
- بررسی کن 15 در آرایه هست یا نه.
- با حلقه همه مقادیر را چاپ کن.
برای مرور بخش های مرتبط، ببین: ماتریس ها و فریم داده ها. راهنمای آرایه در R نیز همین صفحه است.
جمع بندی سریع
- آرایه می تواند بیش از دو بعد داشته باشد.
array()می سازد وdimابعاد را تعیین می کند.- دسترسی با
[row, col, level]انجام می شود. %in%برای جستجوی وجود مقدار است.dimوlengthاطلاعات اندازه را می دهند.