앞서는 긴 서론이었고 이제부터가 본론이라고 할 수 있습니다. 일단 R 스튜디오를 시작한 후 이제 가장 기본인 기초 연산 및 대입에 대한 이야기를 해보겠습니다. R은 계산기로 활용할 수 있는데, 조작 방법은 물론 매우 단순합니다.
참고로 R 콘솔이 아니라 R 스튜디오를 사용하는 경우 보통 왼쪽 상단에 띄우는 코드 입력창 이외에 아래 있는 콘솔창에 넣어도 같은 결과를 얻을 수 있습니다. 다른점은 콘솔 창에는 코드와 함께 결과가 뜬다는 점 정도입니다. 여기서는 동시에 결과를 알 수 있도록 콘솔창을 기준으로 설명합니다.
기본 연산자는 +, -. *(곱하기), / (나누기) 가 있습니다. 이외에도 정수 나눗셈을 의미하는 %/%, 나머지를 의미하는 %%, 거듭 제곱을 의미하는 ^ 혹은 ** 이 주로 사용되는 연산자입니다. 이를 이용해서 위에 보이는 것 같은 간단한 연산을 할 수 있으며 더 복잡한 연산도 물론 가능합니다. 연산 순서를 정해주기 위해서 일반적으로 하듯이 ()를 사용합니다.
예를 들어 (10-5)/4 에 40을 곱하는 경우
> ((10-5)/4)*40
[1] 50
로 입력하는 것입니다.
루트를 씌우고 싶다면 sqrt 명령어를 사용합니다. √2는
> sqrt(2)
[1] 1.414214
그런데 여기서 한 가지 재미있는 점이 있습니다. 숫자가 7개 표시된다는 것입니다. R에서 기본 유효 숫자는 7개가 기본입니다. 물론 표시가 그렇게 되는 것이고 실제로는 더 아래 값을 지닌채 변수로 작용합니다. 이 차이를 알려면 다시 제곱을 해보면 알 수 있습니다.
> (1.414214)^2
[1] 2.000001
> (sqrt(2))^2
[1] 2
>
1.414214에 제곱을 하면 정확하게 2가 나오지 않지만, 연산자에서 제곱을 하면 분명하게 나타납니다. 그런데 여기서 한 가지 질문입니다. 유효 숫자가 7개면 그보다 큰 숫자는 어떻게 표시를 할까요. 예를 들어 10의 10제곱 (즉 100억)을 해봅시다.
> 10^10
[1] 1e+10
여기서 이런 표현에 익숙하지 않은 사용자라면 좀 당황할 표현이 등장합니다. e+라는 이 표시는 무엇일까요? 이는 숫자의 과학적 표기법 (scientific notation) 의 일종입니다. 6.022 X 10^23 은 6.022e+23으로 나타낼 수 있습니다. 1 뒤에 10일 열번 써주는 대신 1e+10으로 표현한 것이죠. 더 상세한 내용에 대해서는 과학적 표기법에 대한 위키 항목을 참조하세요. 아무튼 별로 어려운 내용은 아닙니다.
그러면 3√ 를 하고 싶다면 어떻게 할까요. 이는 1/3을 제곱하면 가능합니다. 사실 sqrt는 (1/2) 의 거듭제곱으로 나타낼 수 있습니다.
> 3^(1/3)
[1] 1.44225
> 2^(1/2)
[1] 1.414214
물론 이런 기본 연산자 이외에도 삼각함수, 로그 등 다양한 연산자와 함수가 존재합니다. 예를 들면 로그의 경우 log10(X)를 지정하면 밑이 10인 상용로그를 의미하고 log(X)는 e 가 밑인 로그가 되는 것입니다.
> log(10)
[1] 2.302585
> log10(10)
[1] 1
e^x는 exp(x)로 표시합니다.
> exp(1)
[1] 2.718282
이와 같은 연산자는 R을 이용한 데이터 분석과 처리에 기본입니다. 물론 이를 이용해서 R을 계산기 목적으로 사용하는 일도 가능합니다. 다음에는 계속해서 변수를 대입 및 벡터에 대해서 이야기하겠습니다.
댓글
댓글 쓰기