كيفية إجراء vlookup (على غرار excel) في r
تتيح لك وظيفة VLOOKUP في Excel العثور على قيمة في جدول عن طريق مطابقتها في عمود.
على سبيل المثال، في جدول بيانات Excel التالي، يمكننا البحث عن اسم فريق اللاعب باستخدام VLOOKUP لمطابقة اسم اللاعب وإرجاع فريق اللاعب:
يمكننا تكرار هذه الوظيفة باستخدام قاعدة R أو حزمة dplyr:
باستخدام قاعدة R:
merge(df1, df2, by=" merge_column ")
باستخدام ديبلير:
inner_join(df1, df2, by=" merge_column ")
توضح الأمثلة التالية كيفية استخدام كل من هذه الوظائف في R لنسخ وظيفة VLOOKUP من Excel.
VLOOKUP باستخدام Base R
يوضح الكود التالي كيفية تنفيذ دالة تشبه VLOOKUP في الأساس R باستخدام الدالة merge() :
#create first data frame df1 <- data.frame(player= LETTERS [1:15], team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5)) #create second data frame df2 <- data.frame(player= LETTERS [1:15], points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5)) #merge the two data frames merge(df1, df2, by=" player ") player team points 1 A Mavs 14 2 B Mavs 15 3C Mavs 15 4D Mavs 16 5 E Mavs 8 6 F Lakers 9 7G Lakers 16 8 a.m. Lakers 27 9 I Lakers 30 10 J Lakers 24 11K Rockets 14 12L Rockets 19 13 M Rockets 8 14 N Rockets 6 15 O Rockets 5
لاحظ أن هذا يُرجع نفس النتائج التي تقوم بها الدالة VLOOKUP في المثال التمهيدي. لاحظ أيضًا أنه يمكنك تحديد أعمدة متعددة لدمجها باستخدام الوسيطة by .
VLOOKUP باستخدام dplyr
library (dplyr) #create first data frame df1 <- data.frame(player= LETTERS [1:15], team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5)) #create second data frame df2 <- data.frame(player= LETTERS [1:15], points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5)) #merge the two data frames using inner_join inner_join(df1, df2, by=" player ") player team points 1 A Mavs 14 2 B Mavs 15 3C Mavs 15 4D Mavs 16 5 E Mavs 8 6 F Lakers 9 7G Lakers 16 8 a.m. Lakers 27 9 I Lakers 30 10 J Lakers 24 11K Rockets 14 12L Rockets 19 13 M Rockets 8 14 N Rockets 6 15 O Rockets 5
لاحظ أن هذا يُرجع نفس نتائج الدالة VLOOKUP في Excel. لاحظ أيضًا أنه يمكنك تحديد أعمدة متعددة لدمجها باستخدام الوسيطة by .
بالإضافة إلى ذلك، إذا كنت تريد عرض العناصر غير المتطابقة، فيمكنك استخدام الدالة left_join .
مصادر إضافية
كيفية حساب المبالغ التراكمية في R
كيفية توحيد البيانات في R
كيفية إضافة صفوف إلى إطار البيانات في R