كيفية تقريب القيم في أعمدة محددة باستخدام dplyr
يمكنك استخدام الطرق التالية لتقريب القيم في أعمدة محددة لإطار البيانات باستخدام حزمة dplyr في R:
الطريقة الأولى: تقريب القيم في أعمدة محددة
library (dplyr) #round values in 'sales' and 'returns' columns to 2 decimal places df_new <- df %>% mutate(across(c(' sales ', ' returns '), round, 2 ))
الطريقة الثانية: تقريب القيم في كافة الأعمدة الرقمية
library (dplyr) #round values in all numeric columns to 2 decimal places df_new <- df %>% mutate(across(where(is. numeric ), round, 2 ))
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي في R:
#create data frame df <- data. frame (store=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'), sales=c(4.352, 6.5543, 7.5423, 9.22111, 4.332, 9.55, 8.0094, 7.2), returns=c(1.2324, 2.6654, 3.442, 6.545, 8.11, 8.004, 7.545, 6.0), promos=c(12.11, 14.455, 10.277, 23.51, 20.099, 29.343, 30.1, 45.6)) #view data frame df store sales returns promos 1 A 4.35200 1.2324 12.110 2 A 6.55430 2.6654 14.455 3 A 7.54230 3.4420 10.277 4 B 9.22111 6.5450 23.510 5 B 4.33200 8.1100 20.099 6 C 9.55000 8.0040 29.343 7 C 8.00940 7.5450 30.100 8 C 7.20000 6.0000 45.600
مثال 1: تقريب القيم في أعمدة محددة باستخدام dplyr
يوضح التعليمة البرمجية التالية كيفية تقريب القيم في أعمدة المبيعات والمرتجعات إلى منزلتين عشريتين:
library (dplyr) #round values in 'sales' and 'returns' columns to 2 decimal places df_new <- df %>% mutate(across(c(' sales ', ' returns '), round, 2 )) #view updated data frame df_new store sales returns promos 1 A 4.35 1.23 12.110 2 A 6.55 2.67 14.455 3 A 7.54 3.44 10.277 4 B 9.22 6.54 23.510 5 B 4.33 8.11 20.099 6C 9.55 8.00 29.343 7 C 8.01 7.54 30.100 8 C 7.20 6.00 45,600
لاحظ أنه يتم تقريب القيم الموجودة في أعمدة المبيعات والمرتجعات إلى منزلتين عشريتين بينما تظل جميع الأعمدة الأخرى دون تغيير.
مثال 2: تقريب القيم في جميع الأعمدة الرقمية باستخدام dplyr
يوضح التعليمة البرمجية التالية كيفية تقريب قيم جميع الأعمدة الرقمية إلى منزلتين عشريتين:
library (dplyr) #round values in all numeric columns 2 decimal places df_new <- df %>% mutate(across(where(is. numeric ), round, 2 )) #view updated data frame df_new store sales returns promos 1 A 4.35 1.23 12.11 2 A 6.55 2.67 14.46 3 A 7.54 3.44 10.28 4 B 9.22 6.54 23.51 5 B 4.33 8.11 20.10 6C 9.55 8.00 29.34 7 C 8.01 7.54 30.10 8 C 7.20 6.00 45.60
لاحظ أنه تم تقريب القيم الموجودة في الأعمدة الرقمية الثلاثة في إطار البيانات إلى منزلتين عشريتين.
ذات صلة: كيفية استخدام الدالة عبر () في dplyr
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في dplyr:
dplyr: كيفية تحويل متغير إذا كان العمود يحتوي على سلسلة
dplyr: كيفية تغيير مستويات العامل باستخدام mutate()
dplyr: كيفية إضافة أعمدة متعددة