Oggetti: i mattoni di R

R per utenti SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Gli oggetti sono i mattoni di R

  • In R tutto è un oggetto
  • Valori singoli (scalari)
  • Vettori
  • Matrici
  • Dati (dataset)
  • Output di funzioni

oggetti abc mattoni

R per utenti SAS

Lavora con elementi singoli

  • Crea l’oggetto x
  • Assegna 4 a x
  • Visualizza x
  • [1] indica che x ha 1 elemento
  • Crea y come quadrato di x
  • Per vedere il risultato, digita y
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
R per utenti SAS

Altri tipi di elementi

  • Assegna la parola "fish" a y
  • Assegna il valore logico FALSE a z
  • Visualizza y e z
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
R per utenti SAS

Combina singoli elementi in un vettore

# Combina tre numeri
c(5, 3, 2)

tre numeri 5 3 2

R per utenti SAS

Combina singoli elementi in un vettore

# Assegna vettore numerico a x
x <- c(5, 3, 2)

# Visualizza il risultato
x

Risultato

[1] 5 3 2

5 3 2 combinati in vettore colonna

R per utenti SAS

Crea un vettore di caratteri

# Aggiungi la parola child in un vettore di caratteri
y <- c("child")

combina tre parole child

R per utenti SAS

Crea un vettore di caratteri

# Aggiungi la seconda parola young
y <- c("child", "young")

young

R per utenti SAS

Crea un vettore di caratteri

# Aggiungi la terza parola old
y <- c("child", "young", "old")

# Visualizza y
y

Risultato

[1] "child" "young" "old"

old

R per utenti SAS

Crea un vettore logico

# Aggiungi TRUE in un vettore logico
z <- c(TRUE)
  • Il primo elemento è TRUE
  • Niente virgolette
  • I valori logici sono TRUE o FALSE
  • Usa MAIUSCOLE
  • Si possono usare anche T e F

combina tre valori logici true maiuscolo

R per utenti SAS

Crea un vettore logico

# Aggiungi FALSE come secondo elemento
z <- c(TRUE, FALSE)

false maiuscolo

R per utenti SAS

Crea un vettore logico

# Aggiungi il terzo elemento TRUE
z <- c(TRUE, FALSE, TRUE)

# Visualizza z
z

Risultato

[1]  TRUE FALSE TRUE

true maiuscolo

R per utenti SAS

Crea una matrice da vettori

#  Crea il vettore numerico a
a <- c(5.0, 3.1, 2.4)
  • Matrice creata da vettori
  • Vettori: stesso tipo e lunghezza

primo vettore numeri 5.0 3.1 2.4

R per utenti SAS

Crea una matrice da vettori

#  Crea il vettore numerico a
a <- c(5.0, 3.1, 2.4)

#  Crea il vettore numerico b
b <- c(4.1, 2.2, 5.4)

secondo vettore 4.1 2.2 5.4

R per utenti SAS

Crea una matrice da vettori

# Crea m da a,b con 3 righe 2 colonne
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

# Visualizza m
m
          [,1] [,2]
     [1,]  5.0  4.1
     [2,]  3.1  2.2
     [3,]  2.4  5.4

vettori combinati in matrice 3 righe 2 colonne

R per utenti SAS

Crea un data frame da vettori

# Crea variabile numerica score
score <- c(5.0, 3.1, 2.4)

# Visualizza score
score
     5.0 3.1 2.4
  • I data frame si creano da vettori
  • Vettori: stessa lunghezza
  • Vettori: tipi diversi ok

vettore numerico con numeri 5.0 3.1 2.4

R per utenti SAS

Crea un data frame da vettori

# Crea variabile di caratteri age
age <- c("child","young","old")

# Visualizza age
age
     "child" "young" "old"

vettore di caratteri con parole child young old

R per utenti SAS

Crea un data frame da vettori

# Crea variabile logica test
test <- c(TRUE, FALSE, TRUE)

# Visualizza test
test
     TRUE FALSE TRUE

vettore logico valori true false true

R per utenti SAS

Crea un data frame da vettori

# Combina per creare un data frame
d <- data.frame(score, age, test)

# Visualizza il data frame
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

tre vettori combinati in un data frame

R per utenti SAS

Determina il tipo di oggetto

  • Crea vettore numerico x
  • Trova la class di x
  • Guarda la struttura str di x
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
R per utenti SAS

Determina il tipo di oggetto

  • Vettore di caratteri y; vettore logico z
  • Trova la class di y e z
  • Guarda la struttura str di y e z
str(y)
 chr [1:3] "child" "young" "old"
str(z)
 logi [1:3] TRUE FALSE TRUE
y <- c("child","young","old")
z <- c(TRUE, FALSE, TRUE)
class(y)
 [1] "character"
class(z)
 [1] "logical"
R per utenti SAS

Determina il tipo di oggetto

  • Crea la matrice m
  • Ottieni la classe di m
  • Vedi la struttura str di m
str(m)
 num [1:3, 1:2] 5 3.1 2.4 4.1 2.2 5.4
a <- c(5.0, 3.1, 2.4)
b <- c(4.1, 2.2, 5.4)
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)
class(m)
 [1] "matrix"
R per utenti SAS

Determina il tipo di oggetto

  • Crea il data.frame d
  • Ottieni la class di d
  • Vedi la struttura str di d
str(d)
'data.frame':    3 obs. of 3 variables:
 $ score: num  5 3.1 2.4
 $ age  : Factor w/ 3 levels
         "child","old",..: 1 3 2
 $ test : logi  TRUE FALSE TRUE
score <- c(5.0, 3.1, 2.4)
age <- c("child","young","old")
test <- c(TRUE, FALSE, TRUE)
d <- data.frame(score, age, test)
class(d)
 [1] "data.frame"
1 Il tipo Factor è stato creato automaticamente per le 3 categorie di age.
R per utenti SAS

Creiamo e manipoliamo oggetti dati in R

R per utenti SAS

Preparing Video For Download...