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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *