기본문법 1. 기본 형식, 형식 확인, CASTING[데이터분석 with R]

안녕하세요. 언제나 휴일에 언휴예요.

다음은 이번 강의에서 다루는 내용들입니다.

궁금할 때 help()

기본 형식 소개 numeric , integer, complex, logical, character

형식 확인 class(x) 혹은 is.numeric(x), is.character(x),…

형식 변환 as.integer

수식 연산자 + – * / %/% %% ** ^

종료 q()

help

help(topic, 생략)

궁금한 내용이 있으면 help() 함수에 인자를 전달하세요.

Help 창에 궁금한 정보 페이지를 보여줍니다.

그림1. help화면

numeric

numeric은 실수를 표현하는 형식입니다.

수를 표현할 때 23, 23.3, 2.33e+1 처럼 다양한 방법으로 표현할 수 있습니다.

2.33e+1은 2.33에 10의 1승이라는 의미입니다.

R 언어에서는 수를 표현하면 기본적으로 numeric으로 취급합니다.

23처럼 정수를 입력하더라도 기본적으로 numeric으로 취급합니다.

다음은 다양한 수 표현과 class함수로 형식을 확인하는 예제입니다.

> #numeric
> help("numeric")
> 23
[1] 23
> 23.3
[1] 23.3
> 2.33e+1
[1] 23.3
> n=23
> n1=23.3
> class(n)
[1] "numeric"
> class(n1)
[1] "numeric"
> class(23)
[1] "numeric"

integer

C언어나 Fortran 언어에 전달하기 위한 목적으로 integer 형식이 존재합니다.

as.integer(x)로 형식 캐스팅을 해서 형식을 확인해 보세요.

> #integer
> n2 = as.integer(23)
> class(n2)
[1] "integer"

complex

복소수를 지원합니다.

이번 강의에서는 세부적인 사용 방법은 다루지 않습니다. 필요하면 자연스럽게 사용하기 때문에 걱정하지 마세요.

> #complex
> 2+3i
[1] 2+3i
> class(2+3i)
[1] "complex"

logical

논리 형식으로 TRUE, FALSE를 값으로 갖는 형식입니다.

> #logical
> b=TRUE
> class(TRUE)
[1] "logical"
> class(b)
[1] "logical"
> class(FALSE)
[1] "logica

character

문자 형식입니다.

다른 언어에서 문자열이라고 말하는 것도 R언어에서는 모두 문자 형식입니다.

본 사이트에서 R언어 강의에서 문자 혹은 문자열이라고 얘기하는 것은 모두 character입니다.

> #character
> class('a')
[1] "character"
> class("a")
[1] "character"
> "123"
[1] "123"
> class("123")
[1] "character"

character를 numeric으로 착각

R언어를 사용할 때 데이터를 가지고 온 후에 연산을 하는 것은 매우 흔합니다.

이 때 “123”처럼 정수 문자로 구성한 것을 수라고 생각하여 수식 연산을 할 때가 많습니다.

물론 연산을 하지 못해 에러를 발생합니다.

이 때 반드시 형식 변환하여 사용하세요.

> n1="123"
> n2=23
> n1+n2
Error in n1 + n2 : 이항연산자에 수치가 아닌 인수입니다
> n1 = as.numeric(n1)
> n1+n2
[1] 146

수식 연산자

그림 2. 수식 연산자
> #산술연산
> 7+2
[1] 9
> 7-2
[1] 5
> 7*2
[1] 14
> 7/2
[1] 3.5
> 7%/%2 #몫 계산
[1] 3
> 7%%2 #나머지 계산
[1] 1
> 7**2 #거듭제곱(지수) 표현
[1] 49
> 7^2 #거듭제곱(지수) 표현
[1] 49