본문 바로가기
R

[R] 데이터 구조 (벡터, 요인, 행렬, 배열, 데이터프레임, 리스트)

by JKyun 2017. 1. 25.

안녕하세요! 우주신입니다.



오늘은 R 데이터 구조에 대해 배워보겠습니다.


정말 중요한 부분입니다. 지금 잘 짚고 넘어가지 않는다면, 나중에 머리털 다 빠집니다.


이론적으로 한번 보시고, 꼭 직접 해보시길 부탁드립니다.




R 데이터 구조는 1. 벡터 2. 요인 3. 행렬 4. 배열 5. 데이터프레임 6. 리스트로 나뉩니다.


찬찬히 하나씩 보겠습니다.




1. 백터 (Vector)




앞 시간에서 잠시 언급했지만 벡터는 동일한 유형의 데이터로 구성되어 있는 1차원 데이터 구조입니다.

숫자형은 숫자형끼리, 문자형은 문자형끼리, 논리형은 논리형끼리.



2. 요인 (Factor)

 



요인형은 범주형의 데이터 입니다.

( 1, 2, 3은 숫자이지만, 첫번째, 두번째, 세번째는 범주형이다 )


범주형으로 만들기 위해선 먼저, 범주 카테고리를 문자로 입력합니다.

위에서는 A, B, C로 구성된 벡터를 만들었습니다.


그 후, factor() 함수를 통해 범주형으로 바꿔줍니다.

F2 출력 결과를 보면 Levels: A B C를 확인할 수 있는데

이는 범주가 A, B, C 총 3개로 이루어져있다는 뜻 입니다.



3. 행렬 (Matrix)



행렬은 익숙하죠?

동일한 유형의 2차원 데이터 구조입니다.


matrix() 함수를 이용해서 만드는데,

위 첫번째 코드를 보면 matrix(1:12, nrow=3)

"1부터 12까지의 숫자를 행(row)의 수가 3개인 행렬로 만들어라"

로 해석하면 됩니다.


두번째 코드를 보면 byrow = TRUE가 추가되었는데, 이는 행(row)기준으로 숫자를 나열해라 라는 뜻입니다.

첫번째 행렬과 비교해보시기 바랍니다.




4. 배열 (Array)



쉽게 말해, 2차원 데이터 구조인 행렬의 조건에 2차원 이상 데이터 구조로 업그레이드 된 데이터 구조입니다.

array() 함수를 이용.


array(1:12, c(2, 3, 2))

"1부터 12 숫자를 '2x3'행렬로 2층으로 만들어라"

로 해석하면 됩니다.



4. 데이터프레임 (DataFrame)


아주 강력한 데이터 구조입니다. 

앞선 데이터 구조들과는 달리 데이터 유형에 상관없이 2차원 형태의 데이터 구조를 생성합니다.


위 코드를 보면 숫자형 d1과 문자형 d2를

data.frame() 함수를 통해 데이터프레임을 생성했습니다.



5. 리스트 (List)



리스트는 끝판왕 입니다.

백터, 행렬, 배열, 데이터프레임과 같은 다른 데이터 구조를 모두 묶을 수 있습니다.

앞선 모든 데이터를 list() 함수를 통해 L1을 생성 후, 출력한 결과 입니다.




TIP> 데이터 구조가 궁금할 땐


is.vector()

is.matrix()

is.array()

is.data.frame()

is.list()

함수들을 사용.



앞선 D3는 데이터프레임이므로 is.matrix(D3)는 FALSE 값이 나온다.






끝.


다음 시간에는  벡터(Vector)에 대해 더 자세히 배워보겠습니다.


수고하셨습니다.


'R' 카테고리의 다른 글

[R] 행렬(Matrix) 기본함수 및 인덱싱  (0) 2017.02.01
[R] 벡터(Vector) 기본함수 및 인덱싱  (0) 2017.01.27
[R] 객체 만들기  (1) 2017.01.25
[R] 작업폴더 경로 설정하기  (1) 2017.01.25
[R] R Studio 화면 구성  (0) 2017.01.25

댓글