R 할줄 R지? #7 - 2차원 다루기, 데이터프레임(Data Frame)
- 프로그램언어/R
- 2020. 2. 18.
매트릭스와의 차이점
데이터 프레임에 배우기에 앞서 같은 2차원 데이터 주고인 매트릭스와의 차이점을 다시 한번 상기해보도록 하겠다.
매트릭스
동일한 데이터 구조만 허용
데이터 프레임
다양한 데이터 구조의 허용
데이터 프레임은 쉽게 엑셀을 머리속에서 떠올리면 된다. 엑셀에서 우리가 열에 저마다 다른 타입의 데이터를 넣을 수 있다.
번호 | 이름 |
키 |
몸무게 |
1 |
홍길동 |
180 |
70 |
2 |
고길동 |
170 |
70 |
3 |
둘리 |
150 |
60 |
4 |
또치 |
150 |
50 |
위와 같은 숫자, 문자형 등이 섞여 있는 2차원 데이터 구조가 데이터 프레임이며, 매트릭스는 숫자 혹은 문자형 등의 한가지 타입으로만 통일되어 있는 차이가 있다.
데이터 프레임 생성
위의 테이블 예제를 토대로 데이터 프레임을 생성해보도록 하자
> numbers <- c(1,2,3,4)
> numbers
[1] 1 2 3 4
> names <- c("honggildong","gogildong","dully","ddochi")
> names
[1] "honggildong" "gogildong" "dully" "ddochi"
> height <- c(180,170,150,150)
> height
[1] 180 170 150 150
> weight <- c(70,70,60,50)
> weight
[1] 70 70 60 50
우선 위와 같이 컬럼들을 생성한다.
> member.info <- data.frame (numbers,names,height,weight)
> member.info
numbers names height weight
1 1 honggildong 180 70
2 2 gogildong 170 70
3 3 dully 150 60
4 4 ddochi 150 50
data.frame 인자에 각각의 벡터값들을 넣어주며, 인자로 전달하는 변수명은 데이터 프레임에서 컬럼명이 된다.
값 가져오기
특정 컬럼명의 데이터를 모두 가져오기
> member.info[,"height"]
[1] 180 170 150 150
마찬가지로 특정 컬럼명의 데이터를 모두 가져오기
> member.info["height"]
height
1 180
2 170
3 150
4 150
컬럼의 위치값을 이용하여, 데이터를 가져오기
> member.info[,c(1,2)]
numbers names
1 1 honggildong
2 2 gogildong
3 3 dully
4 4 ddochi
행의 위치값과 컬럼의 위치값을 이용하여 데이터를 가져오기
> member.info[c(1:3),c(1,3,4)]
numbers height weight
1 1 180 70
2 2 170 70
3 3 150 60
여기서 참고로, 컬럼명으로 데이터를 가져올 때, 둘다 모두 가져오는 방식을 보여주지만 첫번째는 가로로 순서대로 나타나는 전형적인 벡터 모양을 보여주고 있고, 하단은 데이터 프레임 형태로 보여주는 것을 알 수 있다. 데이터를 벡터로 출력하고 싶으면 첫번째, 데이터 프레임으로 출력하고 싶으면 두번째 방식을 사용하면 된다.
이전자료
'프로그램언어 > R' 카테고리의 다른 글
R 할줄 R지? #9 - 파일 읽기 및 저장 (0) | 2020.04.29 |
---|---|
R 할줄 R지? #8 - IRIS로 데이터 프레임 다뤄보기 (0) | 2020.03.04 |
R 할줄 R지? #6 - 2차원 다루기, 매트릭스(Matrix) (0) | 2020.01.26 |
R 할줄 R지? #5 - 벡터 연산편 (0) | 2019.01.16 |
R 할줄 R지? #4 - 벡터 심화편 (0) | 2018.12.27 |