كيفية توسيط البيانات في لغة r (مع أمثلة)
إن توسيط مجموعة البيانات يعني طرح القيمة المتوسطة لكل ملاحظة فردية في مجموعة البيانات.
على سبيل المثال، لنفترض أن لدينا مجموعة البيانات التالية:
اتضح أن متوسط القيمة هو 14. لذا، لتوسيط مجموعة البيانات هذه، سنطرح 14 من كل ملاحظة فردية:
لاحظ أن القيمة المتوسطة لمجموعة البيانات المركزية هي صفر.
يقدم هذا البرنامج التعليمي عدة أمثلة حول كيفية توسيط البيانات في R.
مثال 1: توسيط قيم المتجه
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة Rscale() الأساسية لتوسيط القيم في المتجه:
#createvector data <- c(4, 6, 9, 13, 14, 17, 18, 19, 19, 21) #subtract the mean value from each observation in the vector scale(data, scale= FALSE ) [,1] [1,] -10 [2,] -8 [3,] -5 [4,] -1 [5,] 0 [6,] 3 [7,] 4 [8,] 5 [9,] 5 [10,] 7 attr(,"scaled:center") [1] 14
القيم الناتجة هي القيم المركزية لمجموعة البيانات. تخبرنا الدالة Scale() أيضًا أن متوسط قيمة مجموعة البيانات هو 14.
لاحظ أن الدالة scale() ، بشكل افتراضي، تطرح المتوسط من كل ملاحظة فردية ثم تقسمه على الانحراف المعياري.
من خلال تحديد مقياس = FALSE نقول لـ R ألا يقسم على الانحراف المعياري.
المثال 2: توسيط الأعمدة في إطار البيانات
يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة sapply() ووظيفة المقياس() لقاعدة بيانات R لتوسيط قيم كل عمود في إطار البيانات:
#create data frame df <- data.frame(x = c(1, 4, 5, 6, 6, 8, 9), y = c(7, 7, 8, 8, 8, 9, 12), z = c(3, 3, 4, 4, 6, 7, 7)) #center each column in the data frame df_new <- sapply(df, function (x) scale(x, scale= FALSE )) #display data frame df_new X Y Z [1,] -4.5714286 -1.4285714 -1.8571429 [2,] -1.5714286 -1.4285714 -1.8571429 [3,] -0.5714286 -0.4285714 -0.8571429 [4,] 0.4285714 -0.4285714 -0.8571429 [5,] 0.4285714 -0.4285714 1.1428571 [6,] 2.4285714 0.5714286 2.1428571 [7,] 3.4285714 3.5714286 2.1428571
يمكننا التحقق من أن متوسط كل عمود في إطار البيانات الجديد هو صفر باستخدام الدالة colMeans() :
colMeans(df_new) xyz 2.537653e-16 -2.537653e-16 3.806479e-16
وتظهر القيم بالترميز العلمي، ولكن كل قيمة هي في الأساس صفر.
مصادر إضافية
كيفية حساب المتوسط على الأعمدة في R
كيفية جمع أعمدة محددة في R
كيفية إزالة القيم المتطرفة من أعمدة متعددة في R