Logica vettorializzata Parte 1
Fa parte della sezione Fondamenti del percorso R di Coddy. Lezione 20 di 78.
R ha due versioni degli operatori AND e OR. Hai imparato a conoscere && e ||, che funzionano con singoli valori. Ora esploriamo le loro controparti vettorializzate: & e | (simboli singoli).
La differenza principale è che & e | confrontano i valori elemento per elemento quando si lavora con più valori:
a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)
a & b # TRUE FALSE FALSE FALSE
a | b # TRUE TRUE TRUE FALSEOgni posizione viene confrontata in modo indipendente. Nella prima posizione, sia a che b sono TRUE, quindi a & b restituisce TRUE. Nella seconda posizione, a è TRUE ma b è FALSE, quindi a & b restituisce FALSE.
Questo diventa potente quando viene combinato con gli operatori di confronto:
scores <- c(85, 42, 91, 67, 55)
# Verifica quali punteggi sono compresi tra 50 e 80
scores >= 50 & scores <= 80 # FALSE FALSE FALSE TRUE TRUEIl risultato è un vettore di valori logici che mostra quali elementi soddisfano entrambe le condizioni. Questo comportamento elemento per elemento è essenziale per filtrare e analizzare i dati in R.
Sfida
FacileUsa gli operatori vettorializzati AND (&) e OR (|) per eseguire confronti elemento per elemento sui vettori.
Ti vengono forniti i seguenti vettori:
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)Usa gli operatori logici vettorializzati per creare i seguenti vettori logici:
- Crea un vettore chiamato
comfortable_tempche memorizziTRUEper ogni temperatura maggiore o uguale a 20 E - Crea un vettore chiamato
high_humidityche memorizziTRUEper ogni valore di umidità maggiore di 70 - Crea un vettore chiamato
pleasant_dayche memorizziTRUEper ogni giorno in cui la temperatura è compresa tra 20 e 30 (inclusi) E l'umidità è minore o uguale a 60 - Crea un vettore chiamato
extreme_weatherche memorizziTRUEper ogni giorno in cui la temperatura è maggiore di 30 O l'umidità è maggiore di 80 - Crea un vettore chiamato
stay_insideche memorizziTRUEper ogni giorno in cui la temperatura è minore di 18 O (la temperatura è maggiore di 30 E l'umidità è maggiore di 70)
Usa la funzione print() per visualizzare comfortable_temp, high_humidity, pleasant_day, extreme_weather e stay_inside, esattamente in quest'ordine.
Provalo tu
# Vettori forniti
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)
# TODO: Scrivi il tuo codice qui sotto
# 1. Crea comfortable_temp: TRUE quando temp >= 20 AND temp <= 30
# 2. Crea high_humidity: TRUE quando humidity > 70
# 3. Crea pleasant_day: TRUE quando temp è tra 20-30 AND humidity <= 60
# 4. Crea extreme_weather: TRUE quando temp > 30 OR humidity > 80
# 5. Crea stay_inside: TRUE quando temp < 18 OR (temp > 30 AND humidity > 70)
# Stampa i risultati
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)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