데이터 타입, 산술과 논리 연산자

 

이 튜토리얼에서는 다음에 대하여 학습한다.

 

기본 데이터 타입

R 프로그래밍은 다음과 같은 다양한 데이터 타입을 처리한다:

 

기본 타입

 

우리는 class() 함수를 이용하여 변수의 타입을 확인할 수 있다.

예제 1:

결과:

 

예제 2:

결과:

 

예제 3:

결과:

 

우리는 str() 함수를 이용하여 변수의 데이터 구조를 확인할 수 있다.

예제 4:

결과 :

 

예제 5:

결과:

 

예제 6:

결과:

 

 

변수

변수(variable)는 데이터를 저장하고 특히 데이터 과학자들에게는 중요한 구성요소이다. 하나의 변수는 하나의 숫자, 오브젝트, 통계 결과, 벡터, 데이터 세트, 그리고 기본적으로 R이 출력하는 모델 예측치 등을 저장할 수 있다. 우리는 단순히 변수명을 호출함으로써 나중에 그 변수를 사용할 수 있다.

변수를 선언하기 위해서는 '변수의 이름'을 지정해야 한다. 변수 이름은 공란이 있어서는 안된다. 단어를 연결하기 위해 _를 사용할 수 있다.

변수에 데이터를 저장하기 위해 <- 또는 =를 사용한다.

여기에 사용방법이 있다:

 

command 라인에서 우리는 다음과 같이 어떠한 일이 벌어지는지 알아보기 위해 다음의 코드를 작성할 수 있다:

예제 1:

결과:

 

예제 2:

결과:

 

예제 3:

결과:

 

벡터

벡터(vector)는 일차원 배열(array)이다. 우리는 앞에서 배운 모든 기본 데이터를 이용하여 벡터를 생성할 수 있다.

 

벡터의 생성

 

R에서 벡서를 만드는 가장 간단한 방법은 c( ) 함수(c : combine)를 사용하는 것이다.

 

참고 : 벡터(vector)리스트(list)의 공통적인 특성

 

예제 1: (정수형)

결과:

 

예제 2:(문자형)

결과:

 

예제 3: (논리형)

결과:

 

예제 4: (더블 형*)

결과:

 

변수 값의 출력 방법

 

[방법 1] 변수명을 기입하는 방법

 

[방법 2] ; 을 이용하여 같은 줄에 변수명을 기입하는 방법

 

[방법 3] ()를 이용하는 방법

 

 

예제 5:

결과:

 

 

벡터의 유형 검증

 

예제 6:

결과:

 

벡터의 (강제) 형 변환

벡터의 모든 요소는 같은 유형을 가져야 한다. 따라서 서로 다른 유형을 결합하려고 할 때 그 요소를 가장 유연한 유형으로 강제형변환(coersion)된다.

( 유연성 정도의 순서) 문자형 > 더블형 > 정수형 > 논리형

 

예제 7: 문자형과 숫자형의 결합

결과: 숫자형이 문자형으로 강제변환된다.

 

다음의 함수를 이용하여 명시적으로 데이터의 형변환을 할 수 있다.

 

예제 8: as.numeric()

결과 :

 

산술 연산자

먼저 R에서 사용되는 기본적인 산술 연산자를 살펴볼 것이다.

연산자설명
+덧셈(Addition)
-뺄셈(Subtraction)
*곱셈(Multiplication)
/나눗셈(Division)
^ or **제곱(Exponentiation)
%%나머지(Modulo)
%/%몫(Quotient)

 

우리는 벡터의 산술 연산을 수행할 수 있다.

 

예제 1:

결과:

 

예제 2:

결과:

 

여러분은 R 코드를 Rstudio Console에 쉽게 복사해서 붙여 넣기할 수 있다. 결과# 기호 다음에 표시가 된다. 예 들어, print('Guru99')라고 코드를 작성하면 결과## [1] Guru99가 될 것이다.

##결과를 프린트하는 것을 그리고 대괄호([ ]) 안의 숫자출력물의 갯수를 의미한다.

# 로 시작하는 문장은 주석(annotation)이다. R 스크립트 내에 우리가 원하는 주석(설명)을 추가하기 위해 #를 사용할 수 있다. R은 실행하는 동안 그 이하의 문장을 읽지 않을 것이다.

 

예제 3:

결과:

 

예제 4:

결과:

 

예제 5:

결과:

 

예제 6:

결과:

 

예제 7:

결과:

 

논리 연산자

논리 연산자를 가지고 논리 조건식에 기반하여 벡터 내의 값들을 반환하고자 한다. 다음은 R에서 사용할 수 있는 논리 연산자의 상세 목록이다.

연산자설명
<작다
<=작거나 같다
>크다
>=크거나 같다
==같다
!=다르다
!xnot x
xx
x|y논리합 (or)
x&y논리곱 (and)
isTRUE(x)x가 TRUE인가?

 

R에서의 논리문은 대괄호([ ]) 안에 둘러 싸여 있다. 우리가 원하는 만큼의 조건 문장을 추가할 수 있지만 그 조건들을 괄호(())안에 포함시켜야 한다. 우리는 조건문을 생성하기 위해 다음의 구조를 따를 수 있다:

 

변수(variable)를 참조하는 변수명(variable_name)을 가지고 우리는 문장에 사용하고자 한다. 우리는 variable_name > 0 같은 논리 문장을 생성한다. 끝으로, 논리문을 종료하기 위해 대괄호([ ])를 사용한다. 아래에 논리문의 예가 있다.

예제 1:

결과:

 

위의 결과에서 R은 벡터 내의 각각의 요소를 읽고 그것을 logical_vector > 5와 비교한다. 만일 벡터의 원소 값이 5보다 크면 조건은 TRUE이고, 그렇지 않으면 FALSE이다. 즉 R은 TRUEFALSE로 구성된 벡터를 출력한다.

 

예제 2:

아래의 예에서 우리는 '5보다 큰' 조건을 만족하는 값들만을 추출하고자 한다. 이를 위해, 우리는 값을 포함하는 벡터 다음의 대괄호 안에 조건을 삽입할 수 있다.

결과:

 

예제 3:

결과:

기타 : Subsetting, Sequence

 

벡터 잘라내기

 

예제 1: [Subsetting]

R에서는 벡터를 잘라낼 수 있다. 어떤 경우에는 벡터의 첫 다섯 행만 관심이 있을 수 있다. 그런 경우 1에서 5까지의 값을 추출하기 위해 우리는 [1:5] 명령을 사용할 수 있다.

결과:

 

예제 2: which() 함수의 이용

결과:

 

 

값의 범위 생성

 

예제 3: 값의 범위 생성

값의 범위를 생성하는 가장 간단한 방법은 두 개의 수 사이에 :를 사용하는 것이다. 예를 들어, 위의 예에서와 같이 우리는 1부터 10까지의 숫자 벡터를 생성하기 위해 c(1:10) 또는 1:10이라고 작성할 수 있다.

결과:

 

예제 4: seq() 함수의 이용 예

결과:

 

반복 요소 생성

 

예제 5: 반복적 요소 생성

결과:

 

예제 6: rep() 함수의 이용

결과:

 

벡터요소에 이름 붙이기

 

방법 1> 벡터를 생성할 때

결과 :

 

방법 2> 작업공간에 생성되어 있는 벡터 x 요소에 이름을 붙일 때 : names() 함수 이용

결과 :

 

방법 3> 벡터의 수정된 사본을 생성할 때 : setNames() 함수 이용

결과:

 

벡터 요소 갯수의 확인 : length() 함수 이용

 

예제 7:

결과: