Come utilizzare la funzione quale in r (con esempi)


La funzione which() in R restituisce la posizione degli elementi in un vettore logico che sono TRUE .

Questo tutorial fornisce diversi esempi di utilizzo pratico di questa funzione.

Esempio 1: trovare elementi in un vettore

Il codice seguente mostra come trovare la posizione di tutti gli elementi di un vettore uguale a 5:

 #create data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 12)

#find the position of all elements equal to 5
which (data == 5)

[1] 8 9

Vediamo che gli elementi nelle posizioni 8 e 9 nel vettore sono uguali al valore 5.

Possiamo anche trovare la posizione di tutti gli elementi di un vettore che non sono uguali a 5:

 #find the position of all elements not equal to 5
which (data != 5)

[1] 1 2 3 4 5 6 7 10

Possiamo anche trovare quali elementi si trovano tra due valori o al di fuori di due valori:

 #find the position of all elements with values between 2 and 4
which (data >= 2 & data <= 4)

[1] 2 3 4 5 6 7

#find the position of all elements with values outside of 2 and 4
which (data < 2 | data > 4)

[1] 1 8 9 10

Esempio 2: conteggio delle occorrenze in un vettore

Il codice seguente mostra come utilizzare la funzione length() per trovare il numero di elementi in un vettore maggiore di un determinato valore:

 #createdata
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 12)

#find number of elements greater than 4
length ( which (data > 4))

[1] 3

Possiamo vedere che ci sono 3 elementi in questo vettore con valori maggiori di 4.

Esempio 3: trova righe in un frame di dati

Il codice seguente mostra come restituire la riga in un frame di dati contenente il valore massimo o minimo in una determinata colonna:

 #create data frame
df <- data. frame (x = c(1, 2, 2, 3, 4, 5),
                 y = c(7, 7, 8, 9, 9, 9),
                 z = c('A', 'B', 'C', 'D', 'E', 'F'))

#view data frame
df

  X Y Z
1 1 7 A
2 2 7 B
3 2 8 C
4 3 9 D
5 4 9 E
6 5 9 F

#return row that contains the max value in column x
df[ which . max (df$x), ]

  X Y Z
6 5 9 F

#return row that contains the min value in column x
df[ which . min (df$x), ]

  X Y Z
1 1 7 A

Esempio 4: sottoinsieme di righe in un frame di dati

Il codice seguente mostra come suddividere un frame di dati in righe che soddisfano determinati criteri:

 #create data frame
df <- data. frame (x = c(1, 2, 2, 3, 4, 5),
                 y = c(7, 7, 8, 9, 9, 9),
                 z = c('A', 'B', 'C', 'D', 'E', 'F'))

#view data frame
df

  X Y Z
1 1 7 A
2 2 7 B
3 2 8 C
4 3 9 D
5 4 9 E
6 5 9 F

#return subset of data frame where values in column y are greater than 8
df[ which (df$y > 8), ]

  X Y Z
4 3 9 D
5 4 9 E
6 5 9 F

Trovi altri tutorial su R in questa pagina .

Aggiungi un commento

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