[R] 벡터 내 양수 카운트 (count the number of positive numbers)

해당 포스트는 R에서 벡터에 들어있는 양수의 개수를 카운트하는 방법에 대해 소개합니다.

count-the-number-of-positive-numbers

INTRO

R에서 벡터(vector)는 가장 많이 다루기에 가장 중요한 자료 구조(Data Structure)입니다. 벡터(vector)를 다루는 다양한 연습을 한다면 앞으로의 R프로그래밍 역량 개발에 큰 도움이 될 것이라 생각하빈다.

아래에서는 실수값만을 원소로 가지는 벡터에서 양수의 개수를 찾아주는 사용자 함수 생성 방법을 설명합니다.

count-the-number-of-positive-numbers
[출처] 네이버 지식인

질문

count-the-number-of-positive-numbers
[출처] 네이버 지식인

풀이

1. 벡터 생성

먼저 실수값만으로 이루어진 벡터 x를 생성하겠습니다.

x <- c(1, -2, 3, -4, 5, -6, 7)
x
[1]  1 -2  3 -4  5 -6  7

2. 사용자 함수 생성

벡터(vector)를 입력 받으면 값이 양수인 벡터의 개수를 반환하는 사용자 함수를 생성해 보겠습니다. 벡터(vector)에서 양수(0보다 큰)를 찾는 것은 간단한 조건식을 이용하면 됩니다.

0보다 큰 값 찾기

x > 0x의 값들 중 0보다 큰 값들을 TRUE로 리턴해 줍니다.

x > 0
[1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE

조건식을 만족하는 값의 개수 세기

위 결과에서 조건식을 만족하는 값은 총 4개(TRUE가 4개)인 것을 확인하였으며, 이것을 결과만 확인하기 위해서는 sum() 함수를 이용하면 됩니다.

sum() 함수에 TRUEFALSE와 같은 boolean 값을 넣으면 총 TRUE 개수를 반환해 줍니다.

sum(x > 0)
[1] 4

사용자 함수 exftn3 생성

위에서 확인한 코드를 이용하여 문제에서 요구하는 사용자 함수 exftn3를 만들어 보겠습니다. 해당 문제의 경우, 사용자 함수 내부에서 계산되어야 하는 양이 많지 않기에 return() 함수에서 즉시 계산 및 반환되도록 아래와 같이 작성할 수 있습니다.

exftn3 <- function(x) {
  return(sum(x > 0))
}
exftn3(x)
[1] 4

마무리

R에서 벡터(vector)는 가장 기본적인 자료 구조이면서, 가장 빠른 연산처리 속도를 보장합니다. 모든 상황에 중요한 역할을 하는 것이 벡터(vector)이므로 R프로그래밍을 학습하시는 분들이라면 보다 다양한 예제들을 다뤄보시는 것을 추천드립니다.


관련 링크

[1] 네이버 지식인