Operazioni sui vettori
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 59 di 78.
Una delle funzionalità più potenti di R è la possibilità di eseguire operazioni su interi vettori in una volta sola, senza dover scorrere ogni elemento con un ciclo. Questo rende il tuo codice più pulito ed efficiente.
Quando applichi un operatore aritmetico a un vettore, R esegue l'operazione su ogni elemento:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)Output:
[1] 9.0 22.5 13.5 27.0Puoi anche eseguire operazioni tra due vettori della stessa lunghezza. R abbina gli elementi corrispondenti:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)Output:
[1] 20 25 60 90R fornisce utili funzioni integrate per calcoli comuni sui vettori, come sum(), mean(), min() e max():
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))Output:
[1] 438
[1] 87.6
[1] 78
[1] 95Sfida
FacileTi vengono forniti i seguenti vettori:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)Esegui le seguenti operazioni e stampa ogni risultato:
- Calcola i guadagni giornalieri per ogni giorno moltiplicando
hours_workedperhourly_rate(elemento per elemento). Stampa questo vettore. - Applica un bonus del 10% a tutti i guadagni giornalieri (moltiplica per
1.1). Stampa il vettore dei guadagni aggiornato. - Stampa i guadagni totali della settimana usando
sum() - Stampa i guadagni giornalieri medi usando
mean() - Stampa i guadagni più alti di un singolo giorno usando
max() - Stampa i guadagni più bassi di un singolo giorno usando
min()
Il tuo output dovrebbe essere:
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132Provalo tu
# Vettori dati
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO: Scrivi il tuo codice qui sotto
# 1. Calcola i guadagni giornalieri (moltiplicazione elemento per elemento)
# 2. Applica un bonus del 10% ai guadagni giornalieri
# 3. Stampa i guadagni totali della settimana usando sum()
# 4. Stampa la media dei guadagni giornalieri usando mean()
# 5. Stampa il guadagno giornaliero più alto usando max()
# 6. Stampa il guadagno giornaliero più basso usando min()Questa 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