Come eseguire un cerca.vert (simile a excel) in r


La funzione CERCA.VERT in Excel ti consente di trovare un valore in una tabella confrontandolo su una colonna.

Ad esempio, nel seguente foglio di calcolo Excel, possiamo cercare il nome della squadra di un giocatore utilizzando CERCA.VERT per abbinare il nome del giocatore e restituire la squadra del giocatore:

Possiamo replicare questa funzione utilizzando la base R o il pacchetto dplyr:

Utilizzando Base R:

 merge(df1, df2, by=" merge_column ")

Utilizzando dplyr:

 inner_join(df1, df2, by=" merge_column ")

Gli esempi seguenti mostrano come utilizzare ciascuna di queste funzioni in R per replicare la funzione CERCA.VERT da Excel.

CERCA.VERT utilizzando Base R

Il codice seguente mostra come eseguire una funzione simile a CERCA.VERT in base R utilizzando la funzione 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

Tieni presente che ciò restituisce gli stessi risultati della funzione CERCA.VERT nell’esempio introduttivo. Tieni inoltre presente che puoi specificare più colonne da unire utilizzando l’argomento by .

CERCA.VERT utilizzando 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

Tieni presente che ciò restituisce gli stessi risultati della funzione CERCA.VERT in Excel. Tieni inoltre presente che puoi specificare più colonne da unire utilizzando l’argomento by .

Inoltre, se desideri che vengano visualizzate le non corrispondenze, puoi utilizzare la funzione left_join .

Risorse addizionali

Come calcolare le somme cumulative in R
Come standardizzare i dati in R
Come aggiungere righe a un frame di dati in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *