728x90
반응형
'ADsP 데이터 분석 준전문가 (데이터에듀)' 교재를 참고하여 간략히 정리하였습니다.
01 R 소개
- 오픈소스 프로그램, 통계/데이터마이닝과 그래프를 위한 언어
- GPL(General Public License)하에 배포되는 S프로그래밍 언어로 구현 → GNU-S라 함
- 표준 플랫폼(S언어 기반)
- 모든 운영체제에서 사용 가능
- 메모리 저장방식, 객체지향언어, 함수형 언어
02 R 들어가기
- 편리한 기능
- 작업환경 설정: setwd(“디렉터리”)
- 도움말: help, ?, RSiteSearch(“함수명”)
- 히스토리: history(), savehistory(file=“파일명”), loadhistory(file=“파일명”)
- 콘솔 청소: ctrl + L
- 스크립트 사용
- 한줄 실행: ctrl + R
- 여러줄 실행: 드래그, ctrl + R
- 주석: #
- 패키지: R함수, 데이터 및 컴파일 코드의 모임
- 설치: install.package(“패키지명”)
- 배치모드
- 사용자와 인터렉션이 필요하지 않는 방식 (프로세스 자동화)
- 실행: batch.R 실행파일 위치에서 R CMD BATCH batch.R
03 R 기초
- 변수
- 변수명만 선언하고 값을 할당하면 자료형태를 스스로 인식
- print(): 한번에 하나의 객체 출력 (형식지정 x) cat(): 여러 항목을 묶어 연결된 결과로 출력 (행렬, 리스트 x)
- 값 할당: <-, <<-, =, -> 사용
- Is(): 변수 목록 rm(): 변수 삭제
- 통계량 계산
- 평균: mean()
- 중간값: median()
- 표준편차: sd()
- 분산: var()
- 공분산: voc()
- 상관계수: vor()
- 함수
- function(매개변수) {}
- 표현식: 변수 할당, 조건문, 반복문, return 값
- 연산자
- : 인덱스
- $(a$coef): 요소/슬롯 추출
- :(1:10): 수열 생성
- &: 논리 and
- |: 논리 or
- ~: 식
- >: 오른쪽 대입 <: 왼쪽 대입
04 입력과 출력
- 데이터
- 텍스트 데이터, 데이터 베이스와 통계 프로그램에서 작성된 데이터를 읽음
- 부동소수점 표현시 7자리 수를 기본으로 세팅, option(), digit=“숫자” 이용해 변경
- cat(“출력할 내용”, file=“파일명”): 파일에 문자 출력
- 경로 저장시 슬래쉬(/)나 역슬래쉬 쌍(\\) 사용
- 외부 파일
- 고정자리 변수 읽기: read.fwf(“파일명”, width=c(w1, w2 ...))
- 구분자 변수 읽기: read.table(“파일명”, sep=“구분자”)
- csv 파일 읽기: read.csv(“파일명”, header=T)
- csv 파일 출력: write.csv(데이터 프레임, “파일명”)
- 웹페이지 데이터 읽기
- 파일 다운로드: read.csv(http://~)
- ftp 파일 다운로드: read.cvs(ftp://~)
- html 테이블: library(XML); readHTMLTable(“url”)
05 데이터 구조와 데이터 프레임
- 벡터: 같은 자료형/모드
- 리스트: 여러 자료형
- 데이터 프레임: 행과 열로 이루어진 리스트
- 각각 열에 대해 자료형 자동 구분 (열마다 다른 자료형)
- 메모리상에서 구동
- 데이터 구조
- 단일값: 원소가 하나인 벡터
- 행렬: 차원을 가진 벡터
- 배열: 3차원 또는 n차원까지 확대된 행렬
- 요인: 벡터의 고유값 정보(요인의 수준)를 얻음 → 범주형 변수, 집단 분류
- 데이터 프레임 원소 선택
- L[[n]]
- L[[“name”]]
- L$name
- 벡터, 리스트, 행렬 다루기
- 재활용 규칙
- 행렬
- 행렬 설정: dim(vec) < -c(2, 3)
- 행 이름: rowname(mtrx) < -c(“rowname1’, “rowname2” ...) 열 이름: colname(mtrx) < -c(“colname1’, “colname2” ...)
06 데이터 변형
- 집단 분할
- 벡터: split(vec, fac) → 벡터값과 팩터값 길이 같아야 함
- 데이터프레임: split(dfm, fac)
- 함수 적용
- 행렬: apply(mtr, 1, func) / apply(mtr, 2, func)
- 리스트: lapply(lst, func) / sapply(lst, func)
- 데이터프레임: lapply(dfm, func) / sapply(dfm, func) / apply(dfm, func)
- 집단 별 적용
- tapply(vec, fac, func)
- by(dfm, fac, func)
- 병렬 벡터와 병렬 리스트
- 벡터: mapply(func, vec1, vec2, vec3 ...)
- 리스트: mapply(func, lst1, lst2, lst3 ...)
- 문자열
- 문자열 길이: nchar(“문자열”)
- 벡터 길이: length(vec)
- 문자열 연결: paste(“단어”, “문장”, scalar)
- 하위 문자열 추출: substr(“문자열”, 시작번호, 끝번호)
- 구분자로 문자열 추출: strsplit(“문자열”, 구분자)
- 문자열 대체
- sub(“대상”, “변경”, s)
- gsub(“대상”, “변경”, s)
- 날짜
- %b: 축약된 월 이름 %B: 전체 월 이름 %d: 두자리 일 %m: 두자리 월 %y: 두자리 년 %Y: 네자리 년
- 문자열 → 날짜
- as.Data(“2021-01-03”)
- as.Data(“01/03/2021”, format=“%m/%d/%Y”)
- 날짜 → 문자열
- format(Sys.Date(), format=“%m/%d/%Y”)
728x90
반응형
'Note > Certificate' 카테고리의 다른 글
[ADsP] 3과목 요약 정리 : 3-4 통계 분석 (0) | 2021.06.15 |
---|---|
[ADsP] 3과목 요약 정리 : 3-3 데이터 마트 (0) | 2021.06.15 |
[ADsP] 3과목 요약 정리 : 3-1 데이터 분석 개요 (0) | 2021.06.15 |
[ADsP] 2과목 요약 정리 : 2-2 분석 마스터 플랜 (0) | 2021.06.15 |
[ADsP] 2과목 요약 정리 : 2-1 데이터 분석 기획의 이해 (0) | 2021.06.15 |