Menu
Coddy logo textTech

Vettori con nome

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

Finora hai avuto accesso agli elementi dei vettori usando posizioni numeriche. Ma se potessi accedervi usando nomi significativi? I vettori con nomi ti permettono di assegnare etichette a ogni elemento, rendendo il tuo codice più leggibile e autoesplicativo.

Puoi creare un vettore con nomi specificandoli durante la creazione:

ages <- c(alice = 25, bob = 30, charlie = 28)
print(ages)

Risultato:

  alice     bob charlie 
     25      30      28

Per accedere agli elementi tramite il nome, usa il nome come stringa tra parentesi quadre:

print(ages["bob"])

Output:

bob 
 30

Puoi anche aggiungere nomi a un vettore esistente usando la funzione names():

scores <- c(85, 92, 78)
names(scores) <- c("math", "science", "english")
print(scores["math"])

Output:

math 
  85

I vettori con nome sono particolarmente utili quando si lavora con dati che hanno etichette naturali, come memorizzare i voti degli studenti per materia o i prezzi per nome del prodotto.

challenge icon

Sfida

Facile

Riceverai due righe di input:

  1. Un elenco di nomi di prodotti separati da virgole (ad es., laptop,phone,tablet,headphones)
  2. Un elenco dei prezzi corrispondenti separati da virgole (ad es., 999,699,449,199)

Esegui le seguenti operazioni:

  1. Crea un vettore numerico a partire dai prezzi
  2. Assegna i nomi dei prodotti al vettore usando la funzione names()
  3. Stampa l'intero vettore con i nomi
  4. Stampa il prezzo del secondo prodotto accedendovi tramite il suo nome
  5. Stampa il prezzo dell'ultimo prodotto accedendovi tramite il suo nome

Ad esempio, se gli input sono:

apple,banana,orange,grape
2,1,3,4

L'output dovrebbe essere:

apple banana orange  grape 
    2      1      3      4 
banana 
     1 
grape 
    4

Nota: accedi al secondo e all'ultimo elemento usando un nome come indice (una stringa, ad esempio prices["banana"]), non usando una posizione numerica. I nomi provengono dalla prima riga di input, quindi cerca lì prima il nome corretto.

Provalo tu

# Leggi l'input
con <- file("stdin", "r")
products_input <- suppressWarnings(readLines(con, n = 1))
prices_input <- suppressWarnings(readLines(con, n = 1))
close(con)

# Analizza gli input separati da virgole
product_names <- strsplit(products_input, ",")[[1]]
price_values <- strsplit(prices_input, ",")[[1]]

# TODO: Scrivi il tuo codice qui sotto
# 1. Crea un vettore numerico a partire dai prezzi
# 2. Assegna i nomi dei prodotti al vettore usando names()
# 3. Stampa l'intero vettore con i nomi
# 4. Stampa il prezzo del secondo prodotto accedendovi tramite il suo nome
# 5. Stampa il prezzo dell'ultimo prodotto accedendovi tramite il suo nome
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