• Home
  • tidyverse를 이용한 데이터 관리
  • 서론
  • 1 데이터 불러오기와 저장하기
    • 1.1 패키지 설치하고 불러오기
      • 1.1.1 패키지 설치하기
      • 1.1.2 패키지 불러오기
    • 1.2 데이터 불러오기
      • 1.2.1 관련 함수
      • 1.2.2 파일 경로 지정
      • 1.2.3 다른 인수들
      • 1.2.4 read_csv()의 예
      • 1.2.5 read_csv2()의 예
      • 1.2.6 read_delim()의 예
      • 1.2.7 read_fwf()의 예
      • 1.2.8 read_tsv()의 예
      • 1.2.9 한글 파일 불러오기
    • 1.3 벡터 파싱
      • 1.3.1 파싱 함수
      • 1.3.2 문자형 벡터의 변환
      • 1.3.3 팩터형 변환
      • 1.3.4 날짜형, 날짜-시간형, 시간형 파싱
      • 1.3.5 숫자형 벡터의 변환
      • 연습문제
    • 1.4 파일 파싱하기
      • 1.4.1 전략
      • 1.4.2 문제점
      • 1.4.3 문제 해결 전략
      • 1.4.4 기타 전략
    • 1.5 데이터 저장하기
      • 1.5.1 write_csv()
      • 1.5.2 write_rds()
      • 1.5.3 write_feather()
      • 1.5.4 read_csv()와 read_rds()의 비교
  • 2 데이터 프레임, 티블 그리고 팩터
    • 2.1 데이터 프레임
      • 2.1.1 데이터 프레임의 생성
      • 2.1.2 행/열 결합에 의한 데이터 프레임 생성하기
      • 2.1.3 데이터 프레임의 구조 확인
      • 2.1.4 데이터 프레임의 데이터 확인
      • 2.1.5 데이터 프레임의 통계적 요약 정보
      • 2.1.6 iris 데이터 세트의 예
      • 2.1.7 데이터 프레임의 행/열의 이름 지정하기
      • 2.1.8 데이터 프레임의 데이터에 접근하기
      • 연습문제
      • 2.1.9 데이터 프레임에 행/열 추가하기
      • 2.1.10 데이터 프레임의 행/열 삭제
      • 2.1.11 데이터 프레임 컬럼의 데이터 타입 변환
      • 2.1.12 연습문제
      • 2.1.13 실습 과제
      • 2.1.14 apply() 함수 이해하기
      • 2.1.15 연습문제
      • 2.1.16 연습문제
      • 2.1.17 apply() 함수의 사촌들
      • 2.1.18 연습문제
      • [참고 : Sampling]
      • Reference
    • 2.2 티블
      • 2.2.1 참고자료
      • 2.2.2 티블의 생성
      • 2.2.3 강제변환(Coercion)
      • 2.2.4 티블과 데이터 프레임의 비교
      • 2.2.5 이전 코드와 상호작용
      • 2.2.6 외부 데이터 가져오기 (importing)
      • 2.2.7 연습문제
      • References
    • 2.3 Factor
      • 2.3.1 범주형 자료
      • 2.3.2 Factor의 요소 및 특징
      • 2.3.3 factor() 함수의 형식
      • 2.3.4 factor 생성
      • Reference
  • 3 Data Cleansing
    • 3.1 Data Cleansing
      • 3.1.1 변수 요약
      • 3.1.2 데이터 세트
      • 3.1.3 데이터 세트의 통계적 요약 정보
      • 3.1.4 Hmisc 패키지의 describe() 함수
      • 3.1.5 의심스러운 값
      • 3.1.6 describe()함수의 결과의 시각화
      • 3.1.7 의심스러운 값을 결측치로 바꾸기
      • 3.1.8 NA가 없는 완전한 데이터
      • 3.1.9 데이터 정제 후의 describe()함수 결과 그림
    • 3.2 결측치(Missing Values) 처리
      • 3.2.1 결측값이 포함되어 있는지 확인하는 방법: is.na()
      • 3.2.2 결측치 갯수: sum(is.na())
      • 3.2.3 결측치를 통계 분석시 제외시키기 : na.rm = TRUE
      • 3.2.4 결측치가 있는 행 제거: na.omit()
      • 3.2.5 결측치를 다른 값으로 대체
      • Reference
    • 3.3 이상치(Outlier) 처리 {#outlier}
      • 3.3.1 표준값 Z를 이용한 이상치 확인 및 처리
      • 3.3.2 수정된 표준값을 이용한 이상치 확인 및 처리
      • 3.3.3 사분위수를 이용한 이상치 확인 및 처리
  • 4 Data Preprocessing
    • 4.1 들어가는 말
      • 4.1.1 데이터 전처리란?
      • 4.1.2 왜 dplyr 패키지 인가?
    • 4.2 dplyr 패키지에 있는 함수들
      • 4.2.1 패키지 설치
      • 4.2.2 예제 데이터 확인
      • 4.2.3 dplyr 패키지의 주요 함수 목록
    • 4.3 데이터 프레임의 컬럼 선택: select()
      • 4.3.1 select() 함수의 기본 형식
      • 4.3.2 a번째 부터 n번째의 연속적 컬럼 선택
      • 4.3.3 a번째 부터 n번째의 연속적 컬럼을 제외한 선택
      • 4.3.4 컬럼 이름의 ’앞 부분’을 지정하여 선택
      • 4.3.5 컬럼 이름의 ’끝 부분’을 지정하여 선택
      • 4.3.6 컬럼 이름의 일부를 포함하는 컬럼 선택
      • 4.3.7 정규 표현식과 일치하는 문자열을 포함하는 컬럼 선택
      • 4.3.8 원하는 컬럼 명의 그룹에 포함된 컬럼 선택
      • 4.3.9 컬럼 이름의 접두사와 숫자 범위를 조합하여 컬럼 선택
    • 4.4 filter() 함수를 이용한 행의 선택
      • 4.4.1 filter() 함수의 기본 형식
      • 4.4.2 단일 조건에 의한 행의 선택
      • 4.4.3 복수 조건을 AND(,)로 결합한 행의 선택
      • 4.4.4 복수 조건을 OR(|)로 결합한 행의 선택
      • 4.4.5 행의 위치를 지정해서 행의 데이터 부분집합 선택
    • 4.5 arrange() 함수를 이용한 행의 정렬
      • 4.5.1 arrange() 함수의 기본 형식
      • 4.5.2 복수 개의 정렬 기준으로 행을 정렬하기
    • 4.6 rename() 함수를 이용한 데이터 프레임의 컬럼 이름 변경
      • 4.6.1 rename() 함수의 기본 형식
    • 4.7 distinct() 함수를 이용한 유일한 값 추출
      • 4.7.1 distinct() 함수의 기본 형식
      • 4.7.2 단일 기준에 의한 유일 값 추출
      • 4.7.3 복수 기준에 의한 유일 값 추출
    • 4.8 무작위 표본 추출
      • 4.8.1 정해진 갯수 만큼의 표본 무작위 추출
      • 4.8.2 정해진 비율로 표본 무작위 추출
      • 4.8.3 정해진 갯수 만큼의 표본 복원 추출
      • 4.8.4 집단별 층화 표본 추출
    • 4.9 mutate() 함수를 이용한 새로운 컬럼 생성
      • 4.9.1 mutate() 함수의 기본 형식
      • 4.9.2 새로운 컬럼 생성 예
      • 4.9.3 새로운 만든 컬럼(변수)를 이용하여 또 다른 컬럼 생성하기
      • 4.9.4 컬럼의 값을 새로운 값으로 변경하기
      • 4.9.5 .keep 인수의 사용 예
      • 4.9.6 .after와 .before 인수의 사용 예
      • 4.9.7 transmute() 함수를 이용한 새로운 컬럼 생성
    • 4.10 summarise()함수를 이용한 요약 통계량 계산
      • 4.10.1 summarise() 함수의 기본 형식
      • 4.10.2 summarise() 함수를 이용한 요약 통계 계산
      • 4.10.3 summarise()를 이용한 관측치의 갯수 및 색인 찾기
      • 4.10.4 summarise() 함수를 이용한 그룹별 요약 통계량 계산
      • 4.10.5 복수 개의 변수에 동일한 summarise() 함수 적용하기
      • Reference
  • 5 Pipe Operator
    • 5.1 파이프 연산자 : %>%
      • 5.1.1 파이프 연산자의 사용 예
      • 5.1.2 또 다른 예
    • 5.2 파이프된 명령어에 ‘.’ 사용하기
  • 6 Relational Data
    • 6.1 결합(Append)
      • 6.1.1 데이터 프레임의 결합(append)
      • 6.1.2 결합의 두 가지 방법 : rbind() 함수와 bind_rows()함수
      • 6.1.3 데이터 세트 결합의 예(대응되지 않는 컬럼이 있는 경우)
    • 6.2 데이터 세트의 병합(Merge)
      • 6.2.1 join 함수를 이용한 병합 예
    • 6.3 Relational Data
      • 6.3.1 들어가기
      • 6.3.2 준비하기
      • 6.3.3 nycflights13 패키지 내의 데이터 세트
      • 6.3.4 연습문제
      • 6.3.5 키(Key)
      • 6.3.6 연습문제
    • 6.4 변환 조인(Mutating Join)
      • 6.4.1 조인 이해하기
      • 6.4.2 내부 조인 (inner join)
      • 6.4.3 외부 조인 (outer join)
      • 6.4.4 중복키
      • 6.4.5 키열 정의하기
      • 6.4.6 연습문제
      • 6.4.7 기타 구현
    • 6.5 필터링 조인
      • 6.5.1 연습문제
    • 6.6 조인 문제
    • 6.7 집합 연산
      • Reference
    • 6.8 Join Exercises
      • 6.8.1 예제 데이터의 생성
      • 6.8.2 예제 1: inner_join()
      • 6.8.3 예제 2: left_join()
      • 6.8.4 예제 3: right_join()
      • 6.8.5 예제 4: full_join()
      • 6.8.6 예제 5: semi_join()
      • 6.8.7 예제 6 : anti_join()
      • 6.8.8 예제 7: 복수 개의 데이터 프레임 조인
      • 6.8.9 예제 8: 복수 컬럼에 의한 조인
      • 6.8.10 예제 9: 데이터 조인과 ID 삭제
      • Further Reading
  • 7 Tidy Data
    • 7.1 타이디 데이터 철학
      • 7.1.1 분석의 단위
      • 7.1.2 데이터 세트
      • 7.1.3 docid 별 그루핑
      • 7.1.4 요약 정보 확인
      • 7.1.5 다중 레벨 데이터 확인
    • 7.2 Untidy data
    • 7.3 컬럼 제목들이 변수 명이 아니고 값들인 경우
      • 7.3.1 데이터 세트
      • 7.3.2 사용할 수 있는 함수의 종류
      • 7.3.3 pivot_longer() 함수
      • 7.3.4 gather() 함수
      • 7.3.5 melt() 함수
    • 7.4 하나의 컬럼에 복수 개의 변수들이 있는 경우
      • 7.4.1 데이터 세트
      • 7.4.2 사용할 수 있는 함수의 종류
      • 7.4.3 pivot_wider() 함수
      • 7.4.4 spread() 함수
      • 7.4.5 dcast() 함수
    • 7.5 하나의 셀에 저장된 여러 변수 또는 여러 셀에 흩어져 있는 한 변수
      • 7.5.1 데이터 세트
      • Data Wrangling with dplyr and tidyr
    • 7.6 separate() 함수와 unite() 함수
      • 7.6.1 separate() 함수
      • 7.6.2 unite() 함수
      • 7.6.3 separate() 함수와 unite() 함수의 예
    • 7.7 tidyverse 참조표
    • References
  • 8 Dates
    • 8.1 R에서의 날짜 데이터
      • 8.1.1 as.Date() 함수
    • 8.2 lubridate 패키지
      • 8.2.1 lubridate 패키지의 활용
    • 8.3 날짜-시간 변수
    • 8.4 Date 변수에서 정보 추출하기
      • 8.4.1 관련 함수
      • 8.4.2 Date 변수의 정보 추출 예
    • 8.5 날짜-시간(POSIXct) 변수에서 정보 추출하기
      • 8.5.1 관련 함수
      • 8.5.2 POSIXct 변수에서 정보 추출 예
    • 8.6 날짜-시간 산술연산을 위한 두 종류의 함수
  • 9 Dates and Times
    • 9.1 들어가기
      • 9.1.1 준비하기
    • 9.2 날짜/시간 생성하기
      • 9.2.1 문자열에서 생성
      • 9.2.2 개별 구성요소로 생성
      • 9.2.3 기타 유형에서 생성
      • 9.2.4 연습문제
    • 9.3 데이트-타임형 구성요소
      • 9.3.1 구성요소 가져오기
      • 9.3.2 반올림
      • 9.3.3 구성요소 설정
      • 9.3.4 연습문제
    • 9.4 시간 범위
      • 9.4.1 듀레이션형
      • 9.4.2 피리어드형
      • 9.4.3 인터벌형
      • 9.4.4 요약
      • 9.4.5 연습문제
    • 9.5 시간대
    • References
  • 10 Strings
    • 10.1 들어가기
      • 10.1.1 준비하기
    • 10.2 문자열 기초
      • 10.2.1 문자열 길이
      • 10.2.2 문자열 결합
      • 10.2.3 문자열 서브셋하기
      • 10.2.4 로케일
      • 10.2.5 연습문제
    • 10.3 정규표현식을 이용한 패턴 매칭
      • 10.3.1 기본 매칭
      • 10.3.2 앵커
      • 10.3.3 문자 클래스와 대체구문
      • 10.3.4 반복
      • 10.3.5 그룹화와 역참조
    • 10.4 패턴 매칭
      • 10.4.1 매칭 탐지
      • 10.4.2 매칭 추출
      • 10.4.3 그룹화 매칭
      • 10.4.4 매칭 치환
      • 10.4.5 문자열 분할
      • 10.4.6 매치 찾기
    • 10.5 기타 패턴 유형
      • 10.5.1 연습문제
    • 10.6 정규 표현식의 기타 용도
    • 10.7 stringi
      • 10.7.1 연습문제
    • Reference
  • 11 정규 표현식의 활용
    • 패키지 불러오기
    • 11.1 패턴 찾기 함수
      • 11.1.1 grep() 함수
      • 11.1.2 grepl() 함수
      • 11.1.3 regexpr() 함수
      • 11.1.4 gregexpr() 함수
      • 11.1.5 regexec() 함수
    • 11.2 패턴 대체 함수
      • 11.2.1 sub() 함수를 이용한 첫 번째 일치의 대체
      • 11.2.2 gsub() 함수를 이용한 모든 일치 대체
    • 11.3 문자 벡터의 분할
    • 11.4 stringr 패키지 함수
      • 11.4.1 str_detect() 함수를 이용한 패턴의 발견
      • 11.4.2 str_extract() 함수를 이용한 첫 번째 일치 추출
      • 11.4.3 str_extract_all() 함수를 이용한 모든 일치 추출
      • 11.4.4 str_match() 함수를 이용한 첫 번째 일치 추출
      • 11.4.5 str_match_all() 함수를 이용한 모든 일치 추출
      • 11.4.6 str_locate() 함수를 이용한 첫 번째 일치 위치 확인
      • 11.4.7 str_locate_all() 함수를 이용한 모든 일치 위치 확인
      • 11.4.8 str_replace() 함수를 이용한 첫 번째 일치 대체
      • 11.4.9 str_replace_all() 함수를 이용한 모든 일치 대체
      • 11.4.10 str_split() 함수를 이용한 문자열 분할
      • 11.4.11 str_split_fixed() 함수를 이용한 문자열 분할
  • Published with bookdown

tidyverse를 이용한 데이터 관리

References

  • tidyr 패키지 사용법 :

  • cheat_sheet : data import

  • cheat_sheet : data wrangling

  • 5 tidy data 개념과 dplyr+tidyr로 데이터 다루기

  • tidyr 연습문제

  • An Introduction to reshape2

  • tidyr 연습문제 - 예제가 좋음 (Python의 Pandas로 처리함)