Imparare R | Parte 2 | Variabili e Funzioni
Variabili
x <- (1:10)x = (1:10)(1:10) -> xassign("x", 1:10)
Tutti i modi sopra indicati assegnano un array da 1 a 10 alla variabile x.
Questi sono gli operatori di assegnazione =, ->, <- .
Un'altra funzione comune per creare un vettore o una lista è la funzione c(…).
c(1,10:13)L'output di questo sarebbe un array1 10 11 12 13. Questo significa l'unione di oggetti/variabili separati da virgola.c(1:5, 10.5, "next")L'output di questo sarebbe un array"1" "2" "3" "4" "5" "10.5" "next".y = c(1,2,3)&x = c(y, 1, y)Questo è un esempio di utilizzo di variabili per creare nuove variabili. In questo caso il valore diysarebbe1 2 3mentre quello dixsarebbe1 2 3 1 1 2 3.
Per un ulteriore utilizzo della funzione c(…) fai riferimento a-
Funzioni Integrate
c(…)— Come spiegato sopra.ls()oobjects()— Fornisce un elenco di oggetti esistenti che sono stati creati.rm("x")— Elimina un oggetto. Il parametro è il nome dell'oggetto.sum("x")— Fornisce la somma del vettorex. Ad esempio, sexè1 2 3 1 1 2 3allorasum("x")sarebbe13.sqrt("x")— Fornisce la radice quadrata del vettorex. Ad esempio sexè1 4 9allorasqrt("x")sarebbe un altro vettore con valori1 2 3.seq(…)— Questa funzione viene utilizzata per generare una sequenza di numeri. Accetta diversi parametri comefrom(Valore iniziale della sequenza),to(Valore finale della sequenza),by(Numero di cui incrementare la sequenza),length.out(Lunghezza della sequenza) ealong.with(Questo è un elenco di vettori con lunghezza n e viene utilizzato solo per ottenere la lunghezza di questo elenco passato. Strano 😷) Esempio:-seq(from=1, to=4, by=0.5)— Fornisce una sequenza da1a4con incremento0.5. Ulteriori informazioni suseq(…)qui.paste(…)Questa funzione viene utilizzata per creare stringhe utilizzando una concatenazione di vettori usando 2 parametri denominatisep&collapse.sepfornisce un separatore tra i vettori concatenati mentrecollapsefornisce un separatore che concatena i valori nel vettore concatenato. (Inizio? 🤒) Impariamo con alcuni esempi.paste("xyz", 1:3)—"xyz 1" "xyz 2" "xyz 3"(Questo è senzasep&collapse)paste("xyz", c(1,2,"variable",3), sep=",")—"xyz,1" "xyz,2" "xyz,variable" "xyz,3"(Questo è solo consep)paste(c(1:5), c(5:10), sep = ": ", collapse = "; ")—"1: 5; 2: 6; 3: 7; 4: 8; 5: 9; 1: 10"(Questo è consepecollapse; Nota che qui si forma una singola stringa 😄.) Ulteriori informazioni supaste(…)qui.rep(x, …)— Come suggerisce il nome, questa funzione viene utilizzata per ripetere il vettore esistente. I parametri che questa funzione può accettare sonotimes(Numero di volte che il vettore deve essere ripetuto),length.out(Lunghezza desiderata del vettore di output) &each(Numero di volte che ogni elemento del vettore deve essere ripetuto)rep(c(1,2,3), 3) or rep(c(1:3), times=3)—1 2 3 1 2 3 1 2 3rep(c(1:3), each=3)—1 1 1 2 2 2 3 3 3Ulteriori informazioni surep(x, …)qui.
Funzioni Definite dall'Utente
L'esempio seguente mostra un modo semplice per scrivere una funzione a una sola riga che restituisce il quadrato di una variabile. Il nome della funzione qui è fn.
fn <- function(a) {a*a}
fn(10)
Esempio di un blocco di codice in una funzione.
fn -> function(a, b) {
c = a * b
c = c + b
print(x)
}
fn(10, 20)
Funzioni con cicli,if-else.
primeNumber = function(n) {
if(n>=2) {
s = seq(2,n) p = c() #Initialising the vector which stores prime numbers
for(i in seq(2,n)) {
if(any(s == i) {
p = c(p, i)
s = c(s[(s%%i) != 0], i)
}
}
return(p)
} else {
stop("Input greater than 2")
}
}
L'esempio sopra restituisce un vettore con tutti i numeri primi fino a n passato alla funzione. La funzione stop qui arresta l'esecuzione e genera un errore.
Il p = c() iniziale viene utilizzato per inizializzare il vettore che memorizza il numero primo. E s = seq (2,n) viene utilizzato per inizializzare il vettore fino al quale viene quindi eseguito il ciclo.
Il ciclo controlla se il valore è presente nel vettore s definito in precedenza utilizzando la funzione any. E se corrisponde, aggiunge quel valore al vettore primo e aggiorna il vettore da controllare, cioè s, con tutti i numeri che non sono divisibili per il i corrente
Alla fine del ciclo, il vettore p contiene tutti i numeri primi.
Riferimenti
Grazie per la lettura. Nel mio prossimo articolo, spiegherò le funzioni di tracciamento. Oltre a questo, alcuni approfondimenti su pacchetti & dataset.
Inoltre, se non hai letto la parte 1. Puoi leggerla qui.
Poni le tue domande di seguito. I suggerimenti sono benvenuti. 🙌



