Menu
Coddy logo textTech

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 FALSE

Ogni 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 TRUE

Il 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.

challenge icon

Sfida

Facile

Usa 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:

  1. Crea un vettore chiamato comfortable_temp che memorizzi TRUE per ogni temperatura maggiore o uguale a 20 E
  2. Crea un vettore chiamato high_humidity che memorizzi TRUE per ogni valore di umidità maggiore di 70
  3. Crea un vettore chiamato pleasant_day che memorizzi TRUE per ogni giorno in cui la temperatura è compresa tra 20 e 30 (inclusi) E l'umidità è minore o uguale a 60
  4. Crea un vettore chiamato extreme_weather che memorizzi TRUE per ogni giorno in cui la temperatura è maggiore di 30 O l'umidità è maggiore di 80
  5. Crea un vettore chiamato stay_inside che memorizzi TRUE per 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)
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