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] TRUENota 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 FALSEQuesta 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.
Sfida
FacileRiceverai tre righe di input:
- Un valore numerico (ad es.,
99.99) - Un valore di testo (ad es.,
Premium Member) - Un valore logico come testo:
TRUEoppureFALSE(ad es.,TRUE)
Esegui le seguenti operazioni:
- Leggi i tre input e convertili nei tipi appropriati (numerico, carattere e logico)
- Crea una lista contenente questi tre valori nell'ordine indicato: prima il valore numerico, poi il testo e infine il valore logico
- 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 - Stampa la prima lista
- Stampa la seconda lista
Ad esempio, se gli input sono:
42.5
Active User
FALSEL'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 listeQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici (AND, OR)Operatori logici Parte 2 (NOT)Ripasso - Logica sempliceLogica vettorializzata Parte 1Logica vettorializzata Parte 27Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dell'utente10FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz13Vettori: argomenti avanzati
Slicing e indicizzazione dei vettoriIndicizzazione logicaAritmetica dei vettori e ricicloL’operatore %in%2Variabili e tipi di dati
Tipo di dato numericoTipo di dato interoTipo di dato carattereTipo di dato logicoControllo dei tipi di datoConvenzioni di denominazioneValori mancanti: NARiepilogo - Creazione di variabili8Cicli
Ciclo forCiclo whilebreaknext (continue)Riepilogo - FattorialeGenerazione di sequenze (seq, :)Cicli annidatiRiepilogo - Input dinamico3Operatori Parte 1
Operatori aritmeticiDivisione intera e moduloOperatori di assegnazioneRiepilogo - Matematica sempliceOperatori di confronto6I/O di base
Stampare l'outputcat per l'outputOutput con variabiliLeggere l'input con readline()Nozioni di base sulla conversione dei tipiRiepilogo - Calcolatore dell'etàRiepilogo - Vero o falso9Funzioni
Dichiarare una funzioneArgomenti della funzioneValori di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti dei parametriEsercitati da solo: Compilatore R online