In questo articolo, imparerai a conoscere vector nella programmazione R. Imparerai a crearli, accedere ai loro elementi utilizzando metodi diversi e modificarli nel tuo programma.
Vector è una struttura dati di base in R. Contiene elementi dello stesso tipo. I tipi di dati possono essere logici, interi, doppi, caratteri, complessi o grezzi.
Il tipo di vettore può essere controllato con la funzione typeof()
.
Un’altra proprietà importante di un vettore è la sua lunghezza. Questo è il numero di elementi nel vettore e può essere controllato con la funzione length()
.
- Come creare il vettore in R?
- Esempio 1: Creazione di un vettore utilizzando : operatore
- Esempio 2: Creazione di un vettore utilizzando la funzione seq ()
- Come accedere agli elementi di un vettore?
- Utilizzo del vettore intero come indice
- Utilizzo del vettore logico come indice
- Utilizzo del vettore di caratteri come indice
- Come modificare un vettore in R?
- Come eliminare un vettore?
Come creare il vettore in R?
I vettori vengono generalmente creati utilizzando la funzione c()
.
Poiché un vettore deve avere elementi dello stesso tipo, questa funzione cercherà di costringere gli elementi allo stesso tipo, se sono diversi.
La coercizione va dai tipi più bassi a quelli più alti, da logico a intero a doppio carattere.
> x <- c(1, 5, 4, 9, 0)> typeof(x) "double"> length(x) 5> x <- c(1, 5.4, TRUE, "hello")> x "1" "5.4" "TRUE" "hello"> typeof(x) "character"
Se vogliamo creare un vettore di numeri consecutivi, l’operatore :
è molto utile.
Esempio 1: Creazione di un vettore utilizzando : operatore
> x <- 1:7; x 1 2 3 4 5 6 7> y <- 2:-2; y 2 1 0 -1 -2
È possibile creare sequenze più complesse utilizzando la funzione seq()
, come la definizione del numero di punti in un intervallo o la dimensione del passo.
Esempio 2: Creazione di un vettore utilizzando la funzione seq ()
> seq(1, 3, by=0.2) # specify step size 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0> seq(1, 5, length.out=4) # specify length of the vector 1.000000 2.333333 3.666667 5.000000
Come accedere agli elementi di un vettore?
È possibile accedere agli elementi di un vettore utilizzando l’indicizzazione vettoriale. Il vettore utilizzato per l’indicizzazione può essere logico, intero o vettore di caratteri.
Utilizzo del vettore intero come indice
L’indice vettoriale in R inizia da 1, a differenza della maggior parte dei linguaggi di programmazione in cui l’indice inizia da 0.
Possiamo usare un vettore di numeri interi come indice per accedere a elementi specifici.
Possiamo anche usare numeri interi negativi per restituire tutti gli elementi tranne quelli specificati.
Ma non possiamo mescolare numeri interi positivi e negativi mentre l’indicizzazione e i numeri reali, se usati, vengono troncati in numeri interi.
> x 0 2 4 6 8 10> x # access 3rd element 4> x # access 2nd and 4th element 2 6> x # access all but 1st element 2 4 6 8 10> x # cannot mix positive and negative integersError in x : only 0's may be mixed with negative subscripts> x # real numbers are truncated to integers 2 4
Utilizzo del vettore logico come indice
Quando si utilizza un vettore logico per l’indicizzazione, viene restituita la posizione in cui il vettore logico è TRUE
.
Questa utile funzione ci aiuta nel filtraggio del vettore come mostrato di seguito.
> x -3 3> x # filtering vectors based on conditions -3 -1> x 3
Nell’esempio precedente, l’espressione x>0
produrrà un vettore logico (FALSE, FALSE, FALSE, TRUE)
che viene quindi utilizzato per l’indicizzazione.
Utilizzo del vettore di caratteri come indice
Questo tipo di indicizzazione è utile quando si ha a che fare con vettori denominati. Possiamo nominare ogni elemento di un vettore.
> x <- c("first"=3, "second"=0, "third"=9)> names(x) "first" "second" "third" > xsecond 0 > xfirst third 3 9
Come modificare un vettore in R?
Possiamo modificare un vettore usando l’operatore di assegnazione.
Possiamo utilizzare le tecniche discusse sopra per accedere a elementi specifici e modificarli.
Se vogliamo troncare gli elementi, possiamo usare le riassegnazioni.
> x -3 -2 -1 0 1 2> x <- 0; x # modify 2nd element -3 0 -1 0 1 2> x <- 5; x # modify elements less than 0 5 0 5 0 1 2> x <- x; x # truncate x to first 4 elements 5 0 5 0
Come eliminare un vettore?
Possiamo eliminare un vettore semplicemente assegnandogli un NULL
.
> x -3 -2 -1 0 1 2> x <- NULL> xNULL> xNULL