Bagaimana melakukan vlookup (mirip dengan excel) di r
Fungsi VLOOKUP di Excel memungkinkan Anda menemukan nilai dalam tabel dengan mencocokkannya pada kolom.
Misalnya, dalam spreadsheet Excel berikut, kita bisa mencari nama tim pemain dengan menggunakan VLOOKUP untuk mencocokkan nama pemain dan mengembalikan tim pemain:
Kita dapat mereplikasi fungsi ini menggunakan basis R atau paket dplyr:
Menggunakan Basis R:
merge(df1, df2, by=" merge_column ")
Menggunakan dplyr:
inner_join(df1, df2, by=" merge_column ")
Contoh berikut memperlihatkan cara menggunakan masing-masing fungsi ini di R untuk mereplikasi fungsi VLOOKUP dari Excel.
VLOOKUP menggunakan Basis R
Kode berikut menunjukkan cara menjalankan fungsi mirip VLOOKUP di basis R menggunakan fungsi 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
Perhatikan bahwa ini mengembalikan hasil yang sama seperti fungsi VLOOKUP pada contoh pendahuluan. Perhatikan juga bahwa Anda dapat menentukan beberapa kolom untuk digabungkan menggunakan argumen by .
VLOOKUP menggunakan 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
Perhatikan bahwa ini mengembalikan hasil yang sama seperti fungsi VLOOKUP di Excel. Perhatikan juga bahwa Anda dapat menentukan beberapa kolom untuk digabungkan menggunakan argumen by .
Selain itu, jika Anda ingin menampilkan yang tidak cocok, Anda dapat menggunakan fungsi left_join .
Sumber daya tambahan
Cara menghitung jumlah kumulatif di R
Bagaimana standarisasi data di R
Bagaimana cara menambahkan baris ke bingkai data di R