이번 포스팅에서는 지난 4장에 대한 내용들을 이어서 정리해보겠다.
오늘 공부한 내용에도 꽤나 중요한 내용들이 포함되어 있으므로, 잘 기억해두도록 하자 ^^
자, 그럼 공부한 내용에 대한 정리를 시작해보겠다!
▶ 데이터 프레임 컬럼 접근
1. attach( ) → 이 함수는 자주 사용하므로 꼭! 기억해두자!
- attach( )를 사용한 후부터는 필드 이름만으로 데이터를 곧바로 접근할 수가 있다.
- 즉, df$columns 이런 식으로 "$" 기호를 써주지 않아도 된다.
2. detach( )
- attach( )의 반대 역할로, detach( )를 사용한 후부터는 더 이상 필드 이름으로 데이터를 곧바로 접근할 수가 없다.
- 즉, df$columns 이런 식으로 "$" 기호를 써주어야 한다.
▶ 조건에 맞는 데이터의 색인(index) 찾기
1. which(x)
- x : 논리값 벡터 또는 배열
- 조건이 참인 색인(index)를 반환한다.
2. which.max(x) 와 which.min(x)
- x : 숫자 벡터
- which.max( )는 최댓값이 저장된 색인(index)을 반환하고, which.min( )는 최솟값이 저장된 색인(index)을 반환한다.
- 위 두 함수는 다양한 파라미터에 따라 모델을 만들고, 모델을 선택하는 데 사용할 수 있다.
- ex) 기계 학습 모델을 만들고 모델의 가능도(likelihood)를 벡터에 저장해뒀다면, which.max( ) 함수를 사용해 가능도(likelihood)가 가장 큰 모델을 찾을 수 있다.
▶ 그룹별 연산
- aggregate(x, by, FUN) 또는 aggregate(formula, data, FUN)
- x : R 객체
- by : 그룹으로 묶을 값의 리스트
- formula : y ~ x 형태로, y는 계산에 사용될 값이며 x는 그룹으로 묶을 때 사용할 기준 값
- data : formula를 적용할 데이터
- FUN : 그룹별로 요약치 계산에 사용할 함수
- 데이터를 그룹으로 묶은 후, 임의의 함수를 그룹에 적용하여 각 그룹마다 요약치를 계산한다.
- 입력이 데이터 프레임인 경우, 반환 값은 그룹 값과 그룹의 요약치를 저장한 데이터 프레임이다.
- 아래와 같이 tapply( )를 통해서 aggregate( )와 동일한 결과를 구할 수 있지만, aggregate( )이 코드 작성하기 편리하다.
▶ 편리한 처리를 위한 데이터의 재표현 (Tidy Data)
- 약물 A, B, C를 실험하고 그 효과를 측정했다고 하자. 이러한 실험의 측정 결과는 보통 다음과 같은 스프레드 시트 형태의 표로 정리하게 된다.
A | B | C |
3 | 5 | 4 |
2 | 3 | 5 |
9 | 2 | 7 |
- 하지만 위와 같은 스트레드 시트 형태는 그래프를 그린다거나, 데이터를 조작하는 등의 측면에서 불편한 면이 있다.
- 따라서 위의 스트레드 시트 형태를 아래와 같은 형태로 변환해주면, 데이터 분석 측면에서 더 쉽게 분석을 수행할 수 있다.
Medicine | Value |
A | 3 |
A | 2 |
A | 9 |
B | 5 |
B | 3 |
B | 2 |
C | 4 |
C | 5 |
C | 7 |
- 위와 같은 방식으로 정리된 형태의 데이터를 "Tidy Data"라고 부른다.
- "Tidy Data"는 조작이 편하고, 모델링이 편하며 시각화가 쉬운 장점이 있다.
- <Tidy Data의 정의>
- 각 변수는 하나의 컬럼에 해당한다.
- 각 관찰은 한 행에 해당한다.
- 한 관찰 유형은 하나의 테이블을 형성한다.
1. stack(x)
- x : 리스트 또는 데이터 프레임
- 다수의 벡터를 하나의 벡터로 합치면서, 관측값이 온 곳을 factor로 명시한다.
- 반환 값은 데이터 프레임이며 values에는 x가 하나로 합쳐진 값들이 저장되고, ind에는 관측값이 온 곳을 factor로 명시한다.
2. unstack(x, form)
- x : 리스트 또는 데이터 프레임
- form : ~ 왼쪽에는 관측값, ~ 오른쪽에는 관측값이 온 곳을 표현하는 factor를 명시
- stack( )의 역 연산을 수행한다. 즉, 다시 스프레드 시트 형태의 표로 변환해준다.
▶ MySQL 연동
- R은 "RMySQL" 패키지를 사용하여 MySQL과 연동해서 사용할 수 있다.
- 그러나 R과 MySQL을 연동해서 사용하려면, MySQL을 노트북에 설치해야 하는데 설치 작업이 꽤나 복잡하다.
- 또한 MySQL을 다운 받기 전에, 먼저 Visual Studio를 다운 받아야 된다는 알림 표시를 보고 포기했다...
- MySQL 다운로드에 실패해서 R을 직접 MySQL과 연동을 시켜보지는 못했지만, 연동시켜 사용할 수도 있다는 사실만 일단 기억해두자.
이렇게 해서 4장에 대한 내용 정리를 모두 마치겠다.
다음 포스팅은 "데이터 조작 II: 데이터 처리 및 가공"에 대해서 진행할 예정이다.
★ 참고 자료
- R을 이용한 데이터 처리&분석 실무 교재
'R' 카테고리의 다른 글
[R을 이용한 데이터 처리&분석 실무] 5장 내용 정리_Part 2 (0) | 2020.06.16 |
---|---|
[R을 이용한 데이터 처리&분석 실무] 5장 내용 정리_Part 1 (0) | 2020.06.09 |
[R을 이용한 데이터 처리&분석 실무] 4장 내용 정리_Part 1 (0) | 2020.06.01 |
[R을 이용한 데이터 처리&분석 실무] 1 ~ 3장 내용 정리 (0) | 2020.05.28 |