일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 창평
- 기자조선
- Histogram
- 히스토그램
- repeated measures ANOVA
- 유주
- spss
- 단군
- post hoc test
- 기자
- 통계
- 지리지
- categorical variable
- t test
- 한서
- 한서지리지
- 태그를 입력해 주세요.
- R
- 신라
- 독사방여기요
- 우분투
- 선형회귀분석
- 낙랑군
- 패수
- 고구려
- ANOVA
- 풍백
- linear regression
- 후한서
- 통계학
- Today
- Total
獨斷論
통계 R 사용설명서 11 - 두 데이터 합치기 또는 병합 본문
데이터 행렬 또는 데이터 프레임(data frame)에 을 이리저리 조작하는 것은 좀 자질구레하지만 알아두면 유용한 방법이다. 여기서 알아볼 것은 기존의 데이터에 열방향으로 데이터 합치기, 행방향으로 데이터 합치기, 원하는 변수만 선택, 필요없는 변수 제거, observation 또는 subject의 선택 등에서 알아볼 것이다.
merge()를 이용하여 열방향으로 데이터 합치는 방법
데이터 파일이 두 개 이상의 파일에 존재한다면 R에서 불러온 후에 하나의 변수로 합쳐야 하는 경우가 있는데 이때 이 방법을 이용한다.
일단 아래 스크립트를 보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
> Genus <- c("Acer", "Acer", "Ajuga", "Conyza", "Lamium") |
1~4 줄까지는 lifeforms라는 데이터 프레임 변수를 만들었다.
6~9 줄까지는 flowerings라는 데이터 프레임 변수를 만들었다.
11~25 줄까지는 이들 두 변수를 console에서 어떻게 되었는지 한번 출력하여보았다.
26번째 줄에서 이 두 데이터 프레임을 하나로 합쳤는데 그 결과가 28~31줄에 나타나 있다.
중요한 것은 열방향으로 합쳤을때 새롭게 생긴 데이터 프레임의 각각의 변수, 즉 Genus, species, lifeform, flowering에 결측값이 없도록 만들어졌다는 것이다. 그래서 28~31 줄에 나타난 열방향으로 합쳐진 데이터프레임에는 observation들이 3개 밖에 남지 않았다.
만약 결측값이 생기더라도 두 데이터를 무작정 열방향으로 합치고 싶을땐 어떻게 해야할까?
1 2 3 4 5 6 7 8 9 10 11 |
> mydat_total <- merge(lifeforms, flowerings, all=TRUE) |
merge()함수에 all=TRUE라는 옵션을 넣으면 결측값이 생기더라도 무작정 다 합쳐버린다.
cbind()를 이용하여 열방향으로 데이터 합치는 방법
주로 행렬을 열방향으로 합칠때 사용한다.
1 |
> X <- matrix(c(1,2,3,4,5,6), nrow = 2) |
별 설명은 필요없으리라 본다.
rbind()를 이용하여 행방향으로 두 데이터 합치는 방법
주로 행렬을 행방향으로 합치는데 사용되지만 데이터프레임에도 사용할수도 있다. 이때에는 두 데이터프레임에 있는 변수가 같아야만 한다.
1 |
> id <- c(1, 2, 3, 4, 5) |
다음에는 데이터를 조작하는 방법으로 subset( )이라는 명령어에 대해서 알아보겠다.