본문 바로가기

R

[R을 이용한 데이터 처리&분석 실무] 4장 내용 정리_Part 2

이번 포스팅에서는 지난 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을 이용한 데이터 처리&분석 실무 교재