كيفية استخدام وظيفة المقياس () في لغة r (مع أمثلة)
يمكن استخدام وظيفة المقياس () في R لقياس القيم في ناقل أو مصفوفة أو إطار بيانات.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
scale(x, center = TRUE , scale = TRUE )
ذهب:
- x : اسم الكائن المراد قياسه
- المركز : ما إذا كان سيتم طرح المتوسط عند القياس. الافتراضي هو الصحيح.
- مقياس : ما إذا كان سيتم القسمة على الانحراف المعياري عند القياس. الافتراضي هو الصحيح.
تستخدم هذه الدالة الصيغة التالية لحساب القيم المقاسة:
تحجيم x = ( الأصلي x – x̄) / s
ذهب:
- الأصلي x : قيمة x الأصلية
- x̄ : تعني العينة
- s : الانحراف المعياري للعينة
يُعرف هذا أيضًا باسم تطبيع البيانات، والذي يقوم ببساطة بتحويل كل قيمة أصلية إلى درجة z .
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا.
مثال 1: قياس القيم في المتجه
لنفترض أن لدينا ناقل القيم التالي في R:
#define vector of values x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9) #view mean and standard deviation of values mean(x) [1] 5 sd(x) [1] 2.738613
يوضح الكود التالي كيفية قياس قيم المتجهات باستخدام وظيفة المقياس () :
#scale the values of x x_scaled <- scale(x) #view scaled values x_scaled [,1] [1,] -1.4605935 [2,] -1.0954451 [3,] -0.7302967 [4,] -0.3651484 [5,] 0.0000000 [6,] 0.3651484 [7,] 0.7302967 [8,] 1.0954451 [9,] 1.4605935
فيما يلي كيفية حساب كل قيمة متدرجة:
- القيمة 1: (1 – 5) / 2.738613 = -1.46
- القيمة 2: (2 – 5) / 2.738613 = -1.09
- القيمة 3: (3 – 5) / 2.738613 = -0.73
وما إلى ذلك وهلم جرا.
لاحظ أنه إذا حددنا مقياس = FALSE فإن الدالة لن تقسم على الانحراف المعياري عند القياس:
#scale the values of x but don't divide by standard deviation x_scaled <- scale(x, scale = FALSE ) #view scaled values x_scaled [,1] [1,] -4 [2,] -3 [3,] -2 [4,] -1 [5,] 0 [6,] 1 [7,] 2 [8,] 3 [9,] 4
فيما يلي كيفية حساب كل قيمة متدرجة:
- القيمة 1: 1 – 5 = -4
- القيمة 2: 2 – 5 = -3
- القيمة 3: 3 – 5 = -2
وما إلى ذلك وهلم جرا.
مثال 2: قياس قيم الأعمدة في إطار البيانات
في أغلب الأحيان، نستخدم وظيفة المقياس () عندما نريد قياس قيم أعمدة متعددة في إطار بيانات بحيث يكون لكل عمود متوسط 0 وانحراف معياري 1.
على سبيل المثال، لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9), y=c(10, 20, 30, 40, 50, 60, 70, 80, 90)) #view data frame df xy 1 1 10 2 2 20 3 3 30 4 4 40 5 5 50 6 6 60 7 7 70 8 8 80 9 9 90
لاحظ أن نطاق قيم المتغير y أكبر بكثير من نطاق قيم المتغير x.
يمكننا استخدام الدالة scale() لقياس القيم في العمودين بحيث يكون للقيم المقاسة x وy متوسط 0 وانحراف معياري 1:
#scale values in each column of data frame df_scaled <- scale(df) #view scaled data frame df_scaled xy [1,] -1.4605935 -1.4605935 [2,] -1.0954451 -1.0954451 [3,] -0.7302967 -0.7302967 [4,] -0.3651484 -0.3651484 [5,] 0.0000000 0.0000000 [6,] 0.3651484 0.3651484 [7,] 0.7302967 0.7302967 [8,] 1.0954451 1.0954451 [9,] 1.4605935 1.4605935
يحتوي العمودان x وy الآن على متوسط 0 وانحراف معياري قدره 1.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية تطبيع البيانات في R
كيفية توحيد البيانات في R
كيفية حساب المتوسط على الأعمدة في R