Compilazione ed esecuzione di R dalla riga di comando
I due modi per eseguire i programmi R sono: uno script R, che è ampiamente utilizzato ed è il più preferito e il secondo è R CMD BATCH, non è un comando comunemente usato. Possiamo chiamarli direttamente dalla riga di comando o da qualsiasi altro pianificatore di lavori.
Puoi plausibilmente chiamare questi comandi da una shell integrata nell'IDE e al giorno d'oggi, l'IDE di RStudio viene fornito con strumenti che migliorano o gestiscono le funzioni di script R e R CMD BATCH.
La funzione source() all'interno di R è una buona alternativa all'uso della riga di comando. Questa funzione può anche chiamare uno script, ma per usare questa funzione devi essere all'interno dell'ambiente R.
Set di dati incorporati in R Language
Per elencare i set di dati che sono integrati con R, usa il comando data(), quindi trova quello che vuoi e usa il nome del set di dati nella funzione data(). Mi piace i dati (nome funzione).
Mostra set di dati in R
Il punto interrogativo (?) potrebbe essere utilizzato per chiedere aiuto per i set di dati.
Per controllare tutto usa sommario ().
Plot() è anche una funzione utilizzata per tracciare grafici.
Creiamo uno script di test ed eseguiamolo. Creare p1.R file e salvarlo nella directory home con il seguente contenuto:
Esempio di codice:
# Semplice codice Hello World in R print("Hello World!") print("LinuxHint") print(5+6)
Correre Ciao mondo
Frame di dati R
Per memorizzare i dati nelle tabelle, usiamo una struttura in R chiamata a Data Frame. È usato per elencare i vettori di uguale lunghezza. Ad esempio, la seguente variabile nm è un frame di dati contenente tre vettori x, y, z:
x = c(2, 3, 5) y = c("aa", "bb", "cc") z = c(TRUE, FALSE, TRUE) # nm è un frame di dati nm = data.cornice (n, s, b)
C'è un concetto chiamato IncorporatoFrame di dati anche in R. mtcars è uno di questi frame di dati incorporati in R, che useremo come esempio, per una migliore comprensione. Vedi il codice qui sotto:
> mtcars mpg cil disp hp drat wt… Mazda RX4 21.0 6 160 110 3.90 2.62… bus RX4 Wag 21.0 6 160 110 3.90 2.88… Datsun 710 22.8 4 108 93 3.85 2.32…
mtcars bulitin dataframe
L'intestazione è la riga superiore della tabella che contiene i nomi delle colonne. Le righe di dati sono donate da ogni riga orizzontale; ogni riga inizia con il nome della riga e quindi seguita dai dati effettivi. Il membro dati di una riga viene definito cella.
Inseriamo le coordinate di riga e colonna in una singola parentesi quadra '[]' per recuperare i dati in una cella. Per separare le coordinate, usiamo una virgola. L'ordine è essenziale. La coordinata inizia con la riga poi la virgola e poi finisce con la colonna. Valore della cella di 2nd riga e 1sto colonna è data come:
> mtauto[2, 2] [1] 6
Possiamo anche usare il nome di riga e colonna invece delle coordinate:
> mtcars["Bus RX4", "mpg"] [1] 6
la funzione nrow viene utilizzata per trovare il numero di righe nel frame di dati.
> nrow(mtcars) # numero di righe di dati [1] 32
la funzione ncol viene utilizzata per trovare il numero di colonne in un frame di dati.
> ncol(mtcars) # numero di colonne [1] 11
R Cicli di programmazione
In alcune condizioni, usiamo i cicli quando vogliamo automatizzare una parte del codice o vogliamo ripetere una sequenza di istruzioni.
Per loop in R
Se vogliamo stampare le informazioni di questi anni più di una volta.
print(paste("L'anno è", 2000)) "L'anno è 2000" print(paste("L'anno è", 2001)) "L'anno è il 2001" print(paste("L'anno è", 2002) ) "L'anno è il 2002" print(paste("L'anno è", 2003)) "L'anno è il 2003" print(paste("L'anno è", 2004)) "L'anno è il 2004" print(paste(" L'anno è", 2005)) "L'anno è il 2005"
Invece di ripetere la nostra affermazione ancora e ancora se usiamo per loop sarà molto più facile per noi. Come questo:
for (year in c(2000,2001,2002,2003,2004,2005)) print(paste("The year is", year)) "L'anno è il 2000" "L'anno è il 2001" "L'anno è 2002" "L'anno è il 2003" "L'anno è il 2004" "L'anno è il 2005"
Mentre loop in R
while (espressione) affermazione
Se il risultato dell'espressione è TRUE, viene inserito il corpo del ciclo. Le istruzioni all'interno del ciclo vengono eseguite e il flusso ritorna per valutare nuovamente l'espressione. Il ciclo si ripeterà finché l'espressione non restituisce FALSE, nel qual caso il ciclo termina loop.
Esempio di ciclo while:
# i è inizialmente inizializzato a 0 i = 0 mentre (i<5) print (i) i=i+1 Output: 0 1 2 3 4
Nel ciclo while precedente, l'espressione è io<5che misura TRUE poiché 0 è minore di 5. Quindi, il corpo del ciclo viene eseguito, e io viene emesso e incrementato. È importante aumentare io all'interno del ciclo, quindi in qualche modo soddisferà la condizione ad un certo punto. Nel ciclo successivo, il valore di io è 1, e il ciclo continua. Si ripeterà fino a quando io è uguale a 5 quando la condizione 5<5 reached loop will give FALSE and the while loop will exit.
Funzioni R
Per creare un funzione usiamo la funzione direttiva (). Nello specifico, sono oggetti R di classe funzione.
f <- function() ##some piece of instructions
In particolare, le funzioni potrebbero essere passate ad altre funzioni come argomenti e funzioni potrebbero essere nidificate, per consentire di determinare una funzione all'interno di un'altra funzione.
Le funzioni facoltativamente possono avere alcuni argomenti denominati che hanno valori predefiniti. Se non vuoi un valore predefinito, puoi impostare il suo valore su NULL.
Alcuni fatti sugli argomenti della funzione R:
- Gli argomenti ammessi nella definizione della funzione sono gli argomenti formali
- La funzione formali potrebbe restituire un elenco di tutti gli argomenti formali di una funzione
- Non tutte le chiamate di funzione in R utilizzano tutti gli argomenti formali
- Gli argomenti delle funzioni potrebbero avere valori predefiniti o potrebbero mancare
#Definizione di una funzione: f <- function (x, y = 1, z = 2, s= NULL)
Creazione di un modello di regressione logistica con set di dati integrato
Il glm() la funzione è utilizzata in R per adattare la regressione logistica. La funzione glm() è simile a lm() ma glm() ha alcuni parametri aggiuntivi. Il suo formato è simile a questo:
glm(X~Z1+Z2+Z3, famiglia=binomio (link=”logit”), data=mydata)
X dipende dai valori di Z1, Z2 e Z3. Il che significa che Z1, Z2 e Z3 sono variabili indipendenti e X è la funzione dipendente La funzione coinvolge una famiglia di parametri extra e ha un valore binomiale (link = "logit") che significa che la funzione di collegamento è logit e la distribuzione di probabilità del modello di regressione è binomiale.
Supponiamo di avere un esempio di studente in cui otterrà l'ammissione sulla base di due risultati d'esame. Il set di dati contiene i seguenti elementi:
- risultato _1- Risultato-1 punteggio
- risultato _2- Risultato -2 punteggio
- ammesso- 1 se ammesso o 0 se non ammesso
In questo esempio, abbiamo due valori 1 se uno studente ha ottenuto l'ammissione e 0 se non ha ottenuto l'ammissione. Dobbiamo generare un modello per prevedere che lo studente abbia ottenuto l'ammissione o meno,. Per un dato problema, ammesso è considerato una variabile dipendente, esame_1 ed esame_2 sono considerati variabili indipendenti. Per quel modello, viene fornito il nostro codice R
>Modello_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Supponiamo di avere due risultati dello studente. Risultato-1 65% e risultato-2 90%, ora prevediamo che lo studente ottiene l'ammissione o meno per stimare la probabilità dello studente di ottenere l'ammissione il nostro codice R è il seguente:
>in_frame<-data.frame(result_1=65,result_2=90) >forecast(Model_1,in_frame, type="response") Output: 0.9894302
L'output sopra ci mostra la probabilità tra 0 e 1. Se poi è minore di 0.5 significa che lo studente non ha ottenuto l'ammissione. In questa condizione, sarà FALSO. Se è maggiore di 0.5, la condizione sarà considerata VERA il che significa che lo studente ha ottenuto l'ammissione. Dobbiamo usare la funzione round() per prevedere la probabilità tra 0 e 1.
Il codice R per questo è come mostrato di seguito:
>round(predict(Model_1, in_frame, type="response"))[/code] Output: 1
Uno studente otterrà l'ammissione poiché l'output è 1. Inoltre, possiamo anche prevedere altre osservazioni allo stesso modo.
Utilizzo del modello di regressione logistica (punteggio) con nuovi dati
Quando necessario possiamo salvare il modello in un file. Il codice R per il nostro modello di treno sarà simile a questo:
il modello <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Questo modello può essere salvato con:
save(file="nomefile",the_file)
Puoi usare il file dopo averlo salvato, usando quel codice R:
carica(file="nomefile")
Per applicare il modello per nuovi dati è possibile utilizzare questa riga di codice:
model_set$pred <- predict(the_model, newdata=model_set, type="response")
NOTA: Il model_set non può essere assegnato a nessuna variabile. Per caricare un modello utilizzeremo la funzione load(). Nuove osservazioni non cambieranno nulla nel modello. Il modello rimarrà lo stesso. Usiamo il vecchio modello per fare previsioni sui nuovi dati per non cambiare nulla nel modello.
Conclusione
Spero che tu abbia visto come funziona la programmazione R in modo basilare e come puoi entrare rapidamente in azione facendo l'apprendimento automatico e la codifica statistica con R.