Menu
Coddy logo textTech

벡터화된 논리 파트 1

Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 20번째.

R에는 두 가지 버전의 AND 및 OR 연산자가 있습니다. 여러분은 단일 값과 함께 작동하는 &&||에 대해 배웠습니다. 이제 벡터화된 대응물인 &|(단일 기호)를 살펴보겠습니다.

주요 차이점은 여러 값을 다룰 때 &|는 값을 요소별로 비교한다는 것입니다:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

각 위치는 독립적으로 비교됩니다. 첫 번째 위치에서 ab는 모두 TRUE이므로, a & b는 TRUE를 반환합니다. 두 번째 위치에서 a는 TRUE이지만 b는 FALSE이므로, a & b는 FALSE를 반환합니다.

이것은 비교 연산자와 결합될 때 강력해집니다:

scores <- c(85, 42, 91, 67, 55)

# 50점에서 80점 사이의 점수 확인
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

결과는 어떤 요소가 두 조건을 모두 충족하는지 보여주는 논리값 벡터입니다. 이러한 요소별 동작은 R에서 데이터를 필터링하고 분석하는 데 필수적입니다.

challenge icon

챌린지

쉬움

벡터화된 AND (&) 및 OR (|) 연산자를 사용하여 벡터에 대해 요소별 비교를 수행하세요.

다음과 같은 벡터가 제공됩니다:

temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

벡터화된 논리 연산자를 사용하여 다음 논리 벡터를 생성하세요:

  1. 온도가 20보다 크거나 같고 동시에 30보다 작거나 같은 각 온도에 대해 TRUE를 저장하는 comfortable_temp라는 벡터를 생성합니다.
  2. 습도 값이 70보다 큰 각 습도에 대해 TRUE를 저장하는 high_humidity라는 벡터를 생성합니다.
  3. 온도가 20에서 30 사이(포함)이고 동시에 습도가 60보다 작거나 같은 각 날에 대해 TRUE를 저장하는 pleasant_day라는 벡터를 생성합니다.
  4. 온도가 30보다 크거나 또는 습도가 80보다 큰 각 날에 대해 TRUE를 저장하는 extreme_weather라는 벡터를 생성합니다.
  5. 온도가 18보다 작거나 또는 (온도가 30보다 크고 동시에 습도가 70보다 큰) 각 날에 대해 TRUE를 저장하는 stay_inside라는 벡터를 생성합니다.

print() 함수를 사용하여 comfortable_temp, high_humidity, pleasant_day, extreme_weather, stay_inside를 정확히 이 순서대로 출력하세요.

치트 시트

R에는 두 가지 버전의 AND 및 OR 연산자가 있습니다:

  • &&||는 단일 값과 함께 작동합니다
  • &|는 값을 요소별로 비교하는 벡터화된 연산자입니다

벡터화된 연산자 &|는 각 위치를 독립적으로 비교합니다:

a <- c(TRUE, TRUE, FALSE, FALSE)
b <- c(TRUE, FALSE, TRUE, FALSE)

a & b   # TRUE FALSE FALSE FALSE
a | b   # TRUE TRUE TRUE FALSE

벡터화된 연산자는 비교 연산자와 결합될 때 강력합니다:

scores <- c(85, 42, 91, 67, 55)

# 50에서 80 사이의 점수 확인
scores >= 50 & scores <= 80  # FALSE FALSE FALSE TRUE TRUE

결과는 어떤 요소가 조건을 충족하는지 보여주는 논리값 벡터입니다.

직접 해보기

# 제공된 벡터
temperatures <- c(18, 25, 32, 15, 28, 35, 22)
humidity <- c(45, 80, 60, 30, 75, 85, 50)

# TODO: 아래에 코드를 작성하세요
# 1. comfortable_temp 생성: 온도가 20 이상이고 30 이하일 때 TRUE

# 2. high_humidity 생성: 습도가 70보다 클 때 TRUE

# 3. pleasant_day 생성: 온도가 20-30 사이이고 습도가 60 이하일 때 TRUE

# 4. extreme_weather 생성: 온도가 30보다 크거나 습도가 80보다 클 때 TRUE

# 5. stay_inside 생성: 온도가 18보다 작거나 (온도가 30보다 크고 습도가 70보다 클 때) TRUE


# 결과 출력
print(comfortable_temp)
print(high_humidity)
print(pleasant_day)
print(extreme_weather)
print(stay_inside)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨