Corso R

R lezione #01 sintassi, variabili, operatori, cicli, funzioni

 

R è un linguaggio di programmazione.

R è spesso utilizzato per l'elaborazione statistica e la presentazione grafica dei dati, al fine di analizzarli e visualizzarli.

Come generare del testo e come eseguire un semplice calcolo in R:

    "Hello World!"
    5 + 5
                

come utilizzare R per creare facilmente un grafico con numeri da 1 a 10 sia sull'asse x che sull'asse y:

    plot(1:10)
                

Perché usare R?

Per visualizzare il testo in R, utilizzare virgolette singole o doppie:

    "Ciao Mondo from R!"
                

Per ottenere numeri, basta digitare il numero (senza virgolette):

    25
                

Per eseguire calcoli semplici, somma i numeri:

    5 + 5
                

print()

A differenza di molti altri linguaggi di programmazione, in R è possibile generare codice senza utilizzare una funzione di stampa. Tuttavia, R offre una print() funzione disponibile se si desidera utilizzarla. Questa potrebbe essere utile se si ha familiarità con altri linguaggi di programmazione, come Python, che spesso utilizza la funzione print().

    print("Ciao Mondo from carlomainardi.com!")
                

Utilizziamo la funzione print() all'interno di un ciclo for

    for (x in 1:10) {
        print(x)
    }
                

Commenti

I commenti possono essere utilizzati per spiegare il codice R e renderlo più leggibile. Possono anche essere usati per impedire l'esecuzione durante il test di codice. I commenti iniziano con #. Durante l'esecuzione del codice, R ignorerà tutto ciò che inizia con #. In R non esiste una sintassi per i commenti multiriga

    # "Good morning!"
    "Good night!"
                

Variabili

R non ha un comando per dichiarare una variabile. Una variabile viene creata nel momento in cui le si assegna un valore. Per assegnare un valore a una variabile, si usa il segno <-. Per visualizzare (o stampare) il valore della variabile, è sufficiente digitare il nome della variabile:

    name <- "John"   
    name   # output "John"
                

    age <- 40   
    age   # output 40
                

Concatenare elementi

Utilizzando la funzione paste() è anche possibile concatenare, o unire, due o più elementi. Per combinare sia il testo che una variabile, R utilizza la virgola ( ,):

    text <- "awesome"
    paste("R is", text)
                

Puoi anche usare (,) per aggiungere una variabile a un'altra variabile:

    text1 <- "R is"
    text2 <- "awesome"
    paste(text1, text2)
                

Per i numeri, il carattere (+) funziona come un operatore matematico:

    num1 <- 5
    num2 <- 10
    
    num1 + num2
                

Se provi a combinare una stringa (testo) e un numero, R ti darà un errore:

    num <- 5
    text <- "Some text"
    
    num + text
                

Assegnazione multipla

    # Assign the same value to multiple variables in one line
    var1 <- var2 <- var3 <- "Orange"
    
    # Print variable values
    var1
    var2
    var3
                

Nomi di variabili

Una variabile può avere un nome breve (come x e y) o un nome più descrittivo (età, nome_auto, volume_totale). Le regole per le variabili R sono:

    # Legal variable names:
    myvar <- "John"
    my_var <- "John"
    myVar <- "John"
    MYVAR <- "John"
    myvar2 <- "John"
    .myvar <- "John"
    
    # Illegal variable names:
    2myvar <- "John"
    my-var <- "John"
    my var <- "John"
    _my_var <- "John"
    my_v@ar <- "John"
    TRUE <- "John"
                

Tipi di dati

Nella programmazione, il tipo di dati è un concetto importante. Le variabili possono memorizzare dati di tipi diversi e tipi diversi possono svolgere funzioni diverse. In R, le variabili non devono essere dichiarate con un tipo particolare e possono anche cambiare tipo dopo essere state impostate:

    my_var <- 30 # my_var is type of numeric
    my_var <- "Sally" # my_var is now of type character (string)
    
    my_var # print my_var    
                

Tipi di dati di base

I tipi di dati di base in R possono essere suddivisi nei seguenti tipi:

    # numeric
    x <- 10.5
    class(x)
    
    # integer
    x <- 1000L
    class(x)
    
    # complex
    x <- 9i + 3
    class(x)
    
    # character/string
    x <- "R is exciting"
    class(x)
    
    # logical
    x <- TRUE
    class(x)
                

Numeri R

In R ci sono tre tipi di numeri:
Le variabili di tipo numerico vengono create quando si assegna loro un valore:

    x <- 10.5   # numeric
    y <- 10L    # integer
    z <- 1i     # complex
                

NUMERICO

Un tipo numerico di dati è il tipo più comune in R e contiene qualsiasi numero con o senza decimali, ad esempio: 10,5, 55, 787:

    x <- 10.5
    y <- 55
    
    # Print values of x and y
    x
    y
    
    # Print the class name of x and y
    class(x)
    class(y)
                

INTERO

Gli interi sono dati numerici senza decimali. Questo viene utilizzato quando si è certi che non verrà mai creata una variabile che deve contenere decimali. Per creare una variabile di tipo intero, è necessario utilizzare la lettera L dopo il valore intero:

    x <- 1000L
    y <- 55L
    
    # Print values of x and y
    x
    y
    
    # Print the class name of x and y
    class(x)
    class(y)
                

COMPLEX

Un complexnumero si scrive con una "i" come parte immaginaria:

    x <- 3+5i
    y <- 5i
    
    # Print values of x and y
    x
    y
    
    # Print the class name of x and y
    class(x)
    class(y)
                

Conversione di tipo

È possibile convertire da un tipo all'altro con le seguenti funzioni:

    as.numeric()
    as.integer()
    as.complex()
                

    x <- 1L # integer
    y <- 2 # numeric
    
    # convert from integer to numeric:
    a <- as.numeric(x)
    
    # convert from numeric to integer:
    b <- as.integer(y)
    
    # print values of x and y
    x
    y
    
    # print the class name of a and b
    class(a)
    class(b)
                

Matematica R

In R è possibile utilizzare gli operatori per eseguire comuni operazioni matematiche sui numeri. L'operatore + viene utilizzato per sommare due valori. L'operatore - viene utilizzato per la sottrazione.

Funzioni matematiche integrate

max()

La funzione max() trova il numero più alto in un insieme

  max(5, 10, 15)
                

min()

La funzione min() trova il numero più basso in un insieme

  min(5, 10, 15)
                

sqrt()

La funzione sqrt() restituisce la radice quadrata di un numero

  sqrt(16)
                

abs()

La funzione abs() restituisce il valore assoluto (positivo) di un numero

  abs(-4.7)
                

ceiling()

La funzione ceiling() arrotonda un numero per eccesso al numero intero più vicino

  ceiling(1.4)
                

floor()

La funzione floor() arrotonda un numero per difetto al numero intero più vicino

  floor(1.4)
                

Stringhe R

Le stringhe vengono utilizzate per memorizzare testo. Una stringa è racchiusa tra virgolette singole o doppie. "hello"è lo stesso di 'hello'.

L'assegnazione di una stringa a una variabile si esegue con la variabile seguita dall'operatore <-e dalla stringa

  str <- "Hello"
  str # print the value of str
                

Stringhe multilinea

È possibile assegnare una stringa multilinea a una variabile in questo modo

  str <- "Lorem ipsum dolor sit amet,
  consectetur adipiscing elit,
  sed do eiusmod tempor incididunt
  ut labore et dolore magna aliqua."

  str # print the value of str
                

Tuttavia, tieni presente che R aggiungerà un " \n " alla fine di ogni interruzione di riga. Questo è chiamato carattere di escape, e il carattere n indica una nuova riga . Se si desidera che le interruzioni di riga vengano inserite nella stessa posizione del codice, utilizzare la funzione cat()

  str <- "Lorem ipsum dolor sit amet,
  consectetur adipiscing elit,
  sed do eiusmod tempor incididunt
  ut labore et dolore magna aliqua."

  cat(str)
                

Lunghezza della stringa

In R ci sono molte funzioni stringhe utili. Ad esempio, per trovare il numero di caratteri in una stringa, utilizzare la funzione nchar()

  str <- "Hello World!"
  nchar(str)
                

Controlla una stringa

Utilizzare la funzione grepl() per verificare se un carattere o una sequenza di caratteri è presente in una stringa

  str <- "Hello World!"

  grepl("H", str)
  grepl("Hello", str)
  grepl("X", str)
                

Combina due stringhe

Utilizzare la funzione paste() per unire/concatenare due stringhe

  str1 <- "Hello"
  str2 <- "World"

  paste(str1, str2)
                

Caratteri di escape R

Per inserire caratteri non validi in una stringa, è necessario utilizzare un carattere di escape. Un carattere di escape è una barra rovesciata \ seguita dal carattere che si desidera inserire. Un esempio di carattere illegale è una virgoletta doppia all'interno di una stringa circondata da virgolette doppie Per risolvere questo problema, utilizzare il carattere di escape \"

  str <- "We are the so-called \"Vikings\", from the north."

  str
  cat(str)
                

Altri caratteri di escape in R

caratteri di escape
\\Backslash
\nNew Line
\rCarriage Return
\tTab
\bBackspace

R Booleani (valori logici)

Nella programmazione, spesso è necessario sapere se un'espressione è vera o falsa . È possibile valutare qualsiasi espressione in R e ottenere una delle due risposte, TRUE oppure FALSE. Quando si confrontano due valori, l'espressione viene valutata e R restituisce la risposta logica

  10 > 9    # TRUE because 10 is greater than 9
  10 == 9   # FALSE because 10 is not equal to 9
  10 < 9    # FALSE because 10 is greater than 9
                

È anche possibile confrontare due variabili

  a <- 10
  b <- 9

  a > b
                

È anche possibile eseguire una condizione in un'istruzione if

  a <- 200
  b <- 33

  if (b > a) {
    print ("b is greater than a")
  } else {
    print("b is not greater than a")
  }
                

Operatori R

Gli operatori vengono utilizzati per eseguire operazioni su variabili e valori. Nell'esempio seguente, utilizziamo l'operatore per sommare due valori

Operatori aritmetici

Addizione

  10 + 5
                

Sottrazione

  10 - 5
                

Moltiplicazione

  2.5 * 1.2
                

Potenza

  2 ^ 5 # same as 2*2*2*2*2
                

Modulo

  5 %% 2
                

Divisione intera

  15 %/% 2
  # the integer divison (%/%) rounds the result down to the nearest whole number
                

Operatori di assegnazione R

Gli operatori di assegnazione vengono utilizzati per assegnare valori alle variabili

  my_var <- 3
  my_var <<- 3

  3 -> my_var
  3 ->> my_var

  my_var # print my_var
                

Nota

Operatori di confronto

Equal

    5 == 5 # TRUE because 5 is equal to 5
    5 == 3 # FALSE because 5 is not equal to 3
                

Not equal

Creazione di una funzione

Una funzione è un blocco di codice che viene eseguito solo quando viene chiamato

    my_function <- function() {
        print("Hello World!")
    }

    my_function() # call the function named my_function