Menu
Coddy logo textTech

Creare liste

Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 71 di 78.

I vettori sono potenti, ma hanno una limitazione: tutti gli elementi devono essere dello stesso tipo. Quando devi memorizzare insieme tipi di dati diversi, R mette a disposizione le liste.

Una lista è una struttura dati flessibile che può contenere elementi di tipi diversi, inclusi numeri, caratteri, valori logici e persino altri vettori o liste. Puoi creare una lista usando la funzione list():

my_list <- list(42, "hello", TRUE)
print(my_list)

Risultato:

[[1]]
[1] 42

[[2]]
[1] "hello"

[[3]]
[1] TRUE

Nota come ogni elemento venga visualizzato con il proprio indice tra doppie parentesi quadre. Questo è diverso dai vettori, in cui gli elementi appaiono su una sola riga. Le liste possono contenere anche vettori come elementi:

my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)

Output:

[[1]]
[1] 1 2 3

[[2]]
[1] "text"

[[3]]
[1]  TRUE FALSE

Questa capacità di combinare tipi di dati diversi rende le liste ideali per rappresentare strutture di dati complesse, come il profilo di una persona che contiene età, nome e stato dell'iscrizione, tutto in un unico oggetto.

challenge icon

Sfida

Facile

Riceverai tre righe di input:

  1. Un valore numerico (ad es., 99.99)
  2. Un valore di testo (ad es., Premium Member)
  3. Un valore logico come testo: TRUE oppure FALSE (ad es., TRUE)

Esegui le seguenti operazioni:

  1. Leggi i tre input e convertili nei tipi appropriati (numerico, carattere e logico)
  2. Crea una lista contenente questi tre valori nell'ordine indicato: prima il valore numerico, poi il testo e infine il valore logico
  3. Crea una seconda lista che contenga un vettore di tre numeri c(10, 20, 30) come primo elemento e il testo "data" come secondo elemento
  4. Stampa la prima lista
  5. Stampa la seconda lista

Ad esempio, se gli input sono:

42.5
Active User
FALSE

L'output dovrebbe essere:

[[1]]
[1] 42.5

[[2]]
[1] "Active User"

[[3]]
[1] FALSE

[[1]]
[1] 10 20 30

[[2]]
[1] "data"

Ricorda che le liste possono contenere elementi di tipi diversi e che puoi includere vettori come elementi di una lista.

Provalo tu

# Leggi i tre input
con <- file("stdin", "r")
numeric_input <- suppressWarnings(readLines(con, n = 1))
text_input <- suppressWarnings(readLines(con, n = 1))
logical_input <- suppressWarnings(readLines(con, n = 1))

# TODO: Scrivi il tuo codice qui sotto
# 1. Converti gli input nei tipi appropriati (numeric, character, logical)
# 2. Crea una lista contenente questi tre valori convertiti, nell'ordine
# 3. Crea una seconda lista con c(10, 20, 30) come primo elemento e "data" come secondo elemento
# 4. Stampa entrambe le liste
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore R online