R Tutorial di programmazione

R Tutorial di programmazione
Vuoi per un programmatore da principiante a esperti rapidamente? R è il miglior linguaggio di programmazione per lavorare con statistiche, matematica e scienze dei dati. Questo tutorial ti aiuterà a imparare R e costruire il tuo primo modello di apprendimento automatico. Iniziamo.

Compilare e funzionare R dalla riga di comando

I due modi per eseguire i programmi R sono: uno script R, che è ampiamente utilizzato ed è più preferito e il secondo è il batch R CMD, non è un comando comunemente usato. Possiamo chiamarli direttamente dalla riga di comando o da qualsiasi altro programma di lavoro.

Puoi concepibilmente chiamare questi comandi da una shell integrata nell'IDE e oggi, l'IDE RStudio viene fornito con strumenti che migliorano o gestiscono le funzioni batch di script r e cmd.

La funzione sorgente () all'interno di R è una buona alternativa all'utilizzo della riga di comando. Questa funzione può anche chiamare uno script, ma per l'utilizzo di questa funzione, devi essere all'interno dell'ambiente R.

Set di dati integrati in linguaggio r

Per elencare i set di dati integrati con R, utilizzare il comando Data (), quindi trovare ciò che si desidera e utilizzare il nome del set di dati nella funzione Data (). Come dati (funzionamento).

Mostra set di dati in R

Il punto interrogativo (?) potrebbe essere usato per chiedere aiuto per i set di dati.

Per verificare tutto, utilizzare il riepilogo ().

Plot () è anche una funzione che viene utilizzata per tracciare i grafici.

Creiamo uno script di prova ed eseguiamolo. Creare P1.R File e salvalo la directory home con i seguenti contenuti:

Esempio di codice:

 # Simple Hello World Code in R Print ("Hello World!") print (" linuxhint ") stampa (5+6) 

Running Hello World

R Frame di dati

Per archiviare i dati nelle tabelle, utilizziamo una struttura in r chiamata a Frame di dati. Viene utilizzato per elencare vettori di uguale lunghezza. Ad esempio, la seguente variabile NM è una cornice 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 = dati.frame (n, s, b) 

C'è un concetto chiamato IncorporatoFrame di dati anche in R. mtcar è uno di questi frame di dati integrati in R, che useremo come esempio, per la nostra migliore comprensione. Vedi il codice qui sotto:

 > mtcars mpg cyl 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 linea superiore della tabella che contiene i nomi delle colonne. Le righe dei dati sono donate da ciascuna linea orizzontale; Ogni riga inizia con il nome della riga e quindi seguita dai dati effettivi. Il membro dei dati di una riga è definito come una cella.

Inseriremmo le coordinate di riga e colonna in un operatore "[]" [] [] "[] per recuperare i dati in una cella. Per separare le coordinate, utilizziamo una virgola. L'ordine è essenziale. La coordinata inizia con la riga quindi la virgola e quindi termina con la colonna. Valore cellulare di 2nd riga e 1st la colonna è data come:

 > mtcars [2, 2] [1] 6 

Possiamo anche usare il nome di riga e colonna invece di 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 LOOP DI PROGRAMMAZIONE

In alcune condizioni, utilizziamo i loop quando vogliamo automatizzare una parte del codice o vogliamo ripetere una sequenza di istruzioni.

Per loop in r

Se vogliamo stampare questi anni le informazioni più di una volta.

 Stampa (Paste ("The Year Is", 2000)) "L'anno è 2000" Print (Paste ("The Year is", 2001) "The Year is 2001" Stampa (pasta ("The Year is", 2002) ) Print "The Year is 2002" (pasta ("The Year is", 2003) "The Year Is 2003" Print (Paste ("The Year is", 2004) "The Year is 2004" Print (pasta (pasta (" L'anno è ", 2005)" l'anno è 2005 " 

Invece di ripetere la nostra dichiarazione ancora e ancora se usiamo per Loop sarà molto più facile per noi. Come questo:

 per (anno in c (2000.2001.2002.2003.2004.2005)) print (paste ("L'anno è", anno)) "L'anno è 2000" "L'anno è 2001" "L'anno è 2002 "" L'anno è 2003 "" L'anno è 2004 "" L'anno è 2005 " 

Mentre loop in r

 while (espressione) istruzione 

Se il risultato dell'espressione è vero, il corpo del ciclo viene inserito. Vengono eseguite le dichiarazioni all'interno del ciclo e il flusso ritorna per valutare di nuovo l'espressione. Il ciclo si ripeterà fino a quando l'espressione non valuta false, nel qual caso il ciclo esce.

Esempio di While Loop:

 # Inizialmente è inizializzato a 0 i = 0 mentre (i<5)  print (i) i=i+1  Output: 0 1 2 3 4 

In quanto sopra, l'espressione è io<5che misura True poiché 0 è inferiore a 5. Quindi, il corpo del ciclo viene eseguito e io viene emesso e incrementato. È importante incrementare io All'interno del ciclo, quindi in qualche modo soddisferà la condizione ad un certo punto. Nel loop 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.

R funzioni

Per creare un funzione Usiamo la funzione direttiva (). In particolare, 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 nidificati, 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 si desidera 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 Formals potrebbe restituire un elenco di tutti gli argomenti formali di una funzione
  • Non tutte le funzioni chiamano in R utilizzano tutti gli argomenti formali
  • Gli argomenti della funzione potrebbero avere valori predefiniti o potrebbero mancare
#Defining 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 viene utilizzata in R per adattarsi alla regressione logistica. La funzione glm () è simile a lm () ma glm () ha alcuni parametri aggiuntivi. Il suo formato sembra così:

 GLM (x ~ z1+z2+z3, famiglia = binomiale (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 coinvolge una famiglia di parametri extra e ha 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 dell'esame. Il set di dati contiene i seguenti elementi:

  • Risultato _1- Result-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 ricevuto l'ammissione e 0 se non ha ricevuto l'ammissione. Dobbiamo generare un modello per prevedere che lo studente abbia ottenuto l'ammissione o no,. Per un determinato problema, l'ammesso è considerato una variabile dipendente, Exam_1 e Exam_2 sono considerati variabili indipendenti. Per quel modello, il nostro codice R viene dato

     > Model_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data) 

    Supponiamo che abbiamo due risultati dello studente. Risultato-1 65% e risultato-2 90%, ora prevederemo che lo studente riceva l'ammissione o meno per la stima della probabilità che gli studenti ottengano l'ammissione, il nostro codice R è di seguito:

     > in_framepredict (modello_1, in_frame, type = "risposta") output: 0.9894302 

    L'output di cui sopra ci mostra la probabilità tra 0 e 1. Se allora è inferiore a 0.5 Significa che lo studente non ha ricevuto l'ammissione. In questa condizione, sarà falso. Se è maggiore di 0.5, la condizione sarà considerata vera, il che significa che lo studente ha ricevuto l'ammissione. Dobbiamo usare la funzione round () per prevedere la probabilità tra 0 e 1.

    Il codice r per quello è come mostrato di seguito:

     > round (prevet (modello_1, in_frame, type = "risposta")) [/code] output: 1 

    Uno studente riceverà l'ammissione poiché l'output è 1. Inoltre, possiamo anche prevedere per 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:

     Salva (file = "fileName", the_file) 

    È possibile utilizzare il file dopo aver salvato l'IT, usando quella pace del codice R:

     load (file = "fileName") 

    Per applicare il modello per nuovi dati è possibile utilizzare questa riga di un codice:

     Model_set $ PRED <- predict(the_model, newdata=model_set, type="response") 

    NOTA: Il modello_set non può essere assegnato a nessuna variabile. Per caricare un modello useremo il carico della funzione (). 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 base e come puoi entrare rapidamente in azione facendo l'apprendimento automatico e la codifica delle statistiche con R.