وظيفة المصفوفة في R: إنشاء وطباعة وإضافة عمود وشريحة

وظيفة المصفوفة في R

دالة المصفوفة في R هي مصفوفة ثنائية الأبعاد تحتوي على عدد m من الصفوف وعدد n من الأعمدة. بمعنى آخر، المصفوفة في برمجة R هي مزيج من ناقلين أو أكثر من نفس نوع البيانات.

ملحوظة: من الممكن إنشاء أكثر من مصفوفتين ذات أبعاد مع وظيفة المصفوفة في R.

وظيفة المصفوفة في R

كيفية إنشاء مصفوفة في R

يمكننا إنشاء مصفوفة باستخدام الدالة matrix(). فيما يلي دالة لإنشاء مصفوفة في R تأخذ ثلاثة وسيطات:

matrix(data, nrow, ncol, byrow = FALSE)

الحجج:

  • البيانات: مجموعة العناصر التي سيقوم R بترتيبها في صفوف وأعمدة المصفوفة \
  • الآن: عدد الصفوف
  • ncol: عدد الأعمدة
  • byrow: يتم ملء الصفوف من اليسار إلى اليمين. نستخدم `byrow = FALSE` (القيم الافتراضية)، إذا أردنا ملء المصفوفة بالأعمدة، أي أن القيم يتم ملؤها من أعلى إلى أسفل.

لنقم بإنشاء مصفوفتين 5×2 مع تسلسل أرقام من 1 إلى 10، واحدة بها byrow = TRUE والأخرى مع byrow = FALSE لمعرفة الفرق.

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  TRUE 
matrix_a <-matrix(1:10, byrow = TRUE, nrow = 5)
matrix_a

الإخراج:

إنشاء مصفوفة في R

طباعة أبعاد المصفوفة باستخدام dim()

الآن، دعونا نطبع أبعاد المصفوفة في R باستخدام dim(). بناء جملة طباعة المصفوفة في R باستخدام dim() هو:

# Print dimension of the matrix with dim()
dim(matrix_a)

الإخراج:

## [1] 5 2

قم بإنشاء مصفوفة مكونة من 5 صفوف تحتوي على الأرقام من 1 إلى 10 وbyrow = FALSE

# Construct a matrix with 5 rows that contain the numbers 1 up to 10 and byrow =  FALSE
matrix_b <-matrix(1:10, byrow = FALSE, nrow = 5)
matrix_b

الإخراج:

مصفوفة ذات 5 صفوف تحتوي على صف جانبي = FALSE

طباعة أبعاد المصفوفة باستخدام dim()

مرة أخرى، قم بطباعة أبعاد المصفوفة باستخدام dim(). يوجد أدناه بناء جملة لبعد مصفوفة الطباعة R:

# Print dimension of the matrix with dim()
dim(matrix_b)

الإخراج:

## [1] 5 2

ملاحظات: استخدام الأمر math_b <-matrix(1:10, byrow = FALSE, ncol = 2) سيكون له نفس التأثير كما هو مذكور أعلاه.

يمكنك أيضًا إنشاء مصفوفة 4 × 3 باستخدام ncol. سيقوم R بإنشاء 3 أعمدة وملء الصف من الأعلى إلى الأسفل. التحقق من مثال

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
matrix_c

الإخراج:

##       [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12

على سبيل المثال:

dim(matrix_c)

الإخراج:

## [1] 4 3

إضافة عمود إلى مصفوفة باستخدام cbind()

يمكنك إضافة عمود إلى المصفوفة R باستخدام الأمر cbind(). cbind() يعني ربط الأعمدة. يمكن لـ cbind() تسلسل أي عدد من المصفوفات أو الأعمدة كما هو محدد. على سبيل المثال، أنشأ مثالنا السابق مصفوفة 5×2. نقوم بتسلسل عمود ثالث والتحقق من أن البعد هو 5 × 3

على سبيل المثال:

# concatenate c(1:5) to the matrix_a
matrix_a1 <- cbind(matrix_a, c(1:5))
# Check the dimension
dim(matrix_a1)

الإخراج:

## [1] 5 3

على سبيل المثال:

matrix_a1

الناتج

##       [,1] [,2] [,3]
## [1,]    1    2    1
## [2,]    3    4    2
## [3,]    5    6    3
## [4,]    7    8    4
## [5,]    9   10    5

على سبيل المثال:

يمكننا أيضًا إضافة عمود إلى المصفوفة R أكثر من مرة. دعونا نرى التسلسل الرقمي التالي لمصفوفة Matrix_a2. أبعاد المصفوفات الجديدة في R ستكون 4×6 مع الأعداد من 1 إلى 24.

matrix_a2 <-matrix(13:24, byrow = FALSE, ncol = 3)

الإخراج:

##      [,1] [,2] [,3]
## [1,]   13   17   21
## [2,]   14   18   22
## [3,]   15   19   23
## [4,]   16   20   24

على سبيل المثال:

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)		
matrix_d <- cbind(matrix_a2, matrix_c)
dim(matrix_d)

الإخراج:

## [1] 4 6

نوت: يجب أن يكون عدد صفوف المصفوفات في R متساويًا بالنسبة لعمل cbind

يقوم cbind() بتسلسل الأعمدة، ويقوم rbind() بإلحاق الصفوف. دعونا نضيف صفًا واحدًا إلى مصفوفة Matrix_c الخاصة بنا ونتحقق من أن البعد هو 5×3

matrix_c <-matrix(1:12, byrow = FALSE, ncol = 3)
# Create a vector of 3 columns
add_row <- c(1:3)
# Append to the matrix
matrix_c <- rbind(matrix_c, add_row)
# Check the dimension
dim(matrix_c)

الإخراج:

## [1] 5 3

شريحة مصفوفة

يمكننا اختيار عناصر واحدة أو عدة عناصر من المصفوفة برمجة آر من خلال استخدام الأقواس المربعة [ ]. وهنا يأتي دور التقطيع.

فمثلا:

  • Matrix_c[1,2] يحدد العنصر الموجود في الصف الأول والعمود الثاني.
  • ينتج عن array_c[1:3,2:3] مصفوفة شريحة R مع البيانات الموجودة في الصفوف 1 و2 و3 والأعمدة 2 و3،
  • Matrix_c[,1] يحدد كافة عناصر العمود الأول.
  • Matrix_c[1,] يحدد كافة عناصر الصف الأول.

هنا هو الإخراج الذي تحصل عليه للرموز المذكورة أعلاه

شريحة مصفوفة

تلخيص هذه التدوينة بـ: