كيفية إجراء 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *