변수에는 자료형이란 것이 있다. 말 그대로 자료의 형태다. 크게 숫자, 문자, 논리, 리스트, 결측형 변수가 있다. 디테일하게 들어가면 숫자는 정수형과 실수형으로 또 나뉘고, 리스트에는 다른 변수가 들어가는 등 좀 더 복잡하긴 하다. 우선은 가장 많이 쓰이는 숫자와 문자, 리스트로 변수를 만들어보는 법을 알아보겠다.
앞서 변수를 만드는 방법은 다음과 같다고 했다.
변수명 <- 값 or 변수명 = 값 |
1. 숫자형
원래 프로그래밍에서 숫자는 정수형과 실수형으로 나뉜다. 컴퓨터 공학 전공이 아니라 이유는 잘 모르겠다. 많은 프로그래밍 언어에서 변수를 만들 때 사전에 변수의 자료형을 선언해야 한다. 하지만 R에는 자료형 선언이 필요없다. 그래서 정수형 실수형 구분 없이 그냥 숫자형으로 통일한다.
아래와 같은 코드를 R 스튜디오의 스크립트 창에서 치고, 실행해보자. 그런데 R 스튜디오 사용법과 관련된 포스팅을 안 올린 걸 이제 알았다. 사용법을 모르면, 다음 글을 보고 돌아오면 된다.
num1 <- 1 num2 <- 2 num3 <- 3 num1 num2 num3 |
윗 줄은 변수를 만드는 과정이다. 각 변수에 1,2,3이라는 값을 줬다. 생성된 변수의 이름을 치면 그 값이 출력된다. 위 코드를 다 치고 전체선택(ctrl + a)을 하고 ctrl + 엔터를 누르면 스크립트 아래의 콘솔 창에 실행결과가 나온다. 위의 세 줄은 각 변수가 만들어졌다는 얘기가 나올 거고, 아래 세줄은 그 값인 1,2,3이 나온다.
초보자들이 실수할 수 있는 것 중 하나는, 위에서부터 모든 코드를 다 드래그 한 다음에 실행시켜야 한다. 만약 아래 num1, num2, num3만 드래그하고 실행시키면 오류가 뜬다. 왜냐면 R 자체에서는 아직 각각의 변수를 만들지 않았기 때문이다. 없는 변수인데 값을 어떻게 불러요 같은 느낌이다.
2. 문자형
문자형은 아래처럼 따옴표 사이의 값이 들어간다. 이 때 큰 따옴표든 작은 따옴표든 아무 상관없다.
str1 <- "string1" str2 <- "string2" str3 <- "string3" str1 str2 str3 |
위 코드를 작성하고, 실행하면 콘솔창에 값이 출력된다. 따옴표 사이에 문자의 값을 넣는 이유는 변수와 구분하기 위해서다. 만약 str1 <- string1 이란 식으로 작성한다면 R은 string1이란 변수의 값을 str1에 복사하려고 할 것이다. 그리고 string1이란 변수를 못 찾아서 오류를 낼 것이다. 따라서 반드시 "string1"이라고 값으로 지정하고 싶은 문자를 따옴표 사이에 넣어준다.
3. 리스트형
일단 이걸 리스트라고 부르는진 잘 모르겠다. 내가 공부한 책에서 명칭이 정확히 안 나왔다. 보통 List, Array라고 부르는데, 순서가 있는 값의 집합이라고 생각하면 편하다. 긴 상자 안에 내용물을 순서대로 차곡차곡 집어넣은 것이다. 데이터의 집합을 정리할 대 편하다. R에서 리스트만드는 법은 아래와 같다.
list1 <- c(1,2,3,4,5) list2 <- c("a", "b", "c", "d", "e") list1 list2 |
코드를 실행하면 입력된 값이 한 줄에 차례대로 출력된다. 이러한 자료형은 여러 프로그래밍에서 아주 자주 활용된다. R에서는 행이나 열의 값을 다룰 때 자주 쓰인다. 이 리스트를 만드는 법은 c( ) 함수에 값을 집어넣는 것이다. 각 값은 쉼표로 구분된다.
숫자로 구성된 리스트의 경우, 다른 방법으로도 만들 수 있다.
list_sequence1 <- c(1:10) list_sequence2 <- seq(1,10) list_sequence3 <- seq(1,10, by = 2) |
list_sequence1의 경우 c( ) 함수 사이에 숫자1:숫자2의 값을 넣어줬다. 숫자1부터, 숫자 2를 포함하여 연속된 값을 의미한다. 실행하면 1부터 10까지, 열 개의 정수가 나올 것이다. 아래의 list_sequence2도 기능은 같다. 다만 c( ) 함수가 아니라 seq( ) 함수를 썼다. 세미콜론 대신 쉼표로 시작값과 끝값을 구분한다. 실행하면 1부터 10까지 열 개의 정수가 출력된다. 그리고 seq( ) 함수에 by 파라미터를 쓰면 숫자 간의 간격을 조절할 수 있다. 파라미터는 함수에 추가적인 기능을 부여한다. list_sequence3의 경우, 1부터 10까지의 숫자가 2 간격으로 출력된다. 즉 1,3,5,7,9가 출력될 것이다.
처음에는 결측, 논리형과 변수의 연산까지 담으려고 했는데 생각보다 양이 많다. 포스팅을 2편으로 분리해야겠다.
'DEVELOP > IT' 카테고리의 다른 글
[IDE] IntelliJ IDEA 플러그인 추천 (2) | 2021.03.26 |
---|---|
[Markdown] 마크다운 문법 정리 (0) | 2021.03.05 |
[Java] 윈도우 이클립스 단축키 모음 (0) | 2019.07.24 |
[IT] ATOM 편집기 추천 패키지 모음 (0) | 2018.09.10 |
[데이터] R 프로그래밍 :: 변수란? 변수 만들기 (0) | 2017.12.16 |
[데이터] R 프로그래밍 언어란? (0) | 2017.12.06 |
[데이터] R과 R 스튜디오 다운받아 설치하기 (0) | 2017.12.05 |
[오피스] MS 오피스 초기화 하는 방법 (0) | 2017.11.22 |