홈 > 강의소개
R 프로그래밍(통계분석)
김용태 교수
단국대학교 대학원 통계학과 석사과정
단국대학교 대학원 정보통계학과 박사졸업
단국대학교 대학원 통계학과 석사과정
단국대학교 대학원 정보통계학과 박사졸업
단국대학교
한국외국어대학교
을지대학교
현) 유니와이즈 전임교수
AI가 이끄는 스마트한 학습 경험, AI 튜터와 함께 더 빠르고, 더 깊게 학습하세요.
긴 강의 내용을 AI가 핵심만 요약하여 복습 시간을 단축시킵니다.
강의에서 가장 중요한 키워드와 개념을 자동으로 추출해 제공합니다.
학습한 내용을 바탕으로 AI가 생성한 퀴즈를 풀며 이해도를 점검합니다.
모르는 부분을 24시간 언제든 AI 튜터에게 질문하고 답변을 받습니다.
총 9개 챕터, 55강으로 구성되어 있습니다.
| 제목 | 강의시간 | 상세내용 |
|---|---|---|
|
[1강] R 프로그래밍 오리엔테이션
|
0:
13:
58
|
|
|
R 프로그래밍 소개: 통계 자료 분석을 위한 언어
• R 프로그래밍: 통계 자료 분석 및 그래프 작성에 특화된 무료 소프트웨어이자 프로그래밍 언어. • R 패키지: 사용자가 개발한 함수 묶음을 설치하여 기본 기능을 확장하는 R의 핵심 활용 체계. • R 프로그래밍 학습: 자료 구조, 함수, 패키지 활용 등 실습 중심으로 데이터 분석 실무 역량의 기초 배양. |
||
| 1장. R 프로그램 시작하기 | ||
|
[2강] R 프로그램 (1)
|
0:
35:
46
|
|
|
R 및 RStudio 소개, 설치 및 기본 사용법
• R 프로그램: 통계 계산 및 그래픽 구현에 사용되는 오픈소스 언어이자 무료 소프트웨어 환경. • R 실행 방식: 명령어 즉시 결과를 출력하는 인터렉티브 모드(콘솔)와 코드 일괄 실행이 가능한 배치 모드(스크립트)로 구분. • RStudio: 스크립트, 콘솔, 환경, 플롯 창 등을 통합 제공하여 코드 작성 및 실행 효율성을 높이는 R 전용 통합개발환경(IDE). |
||
|
[3강] R 프로그램 (2)
|
0:
48:
10
|
|
|
R 프로그래밍: 함수, 데이터 구조, 작업 환경 관리
• R 함수 및 데이터 구조: 인수 기반 계산을 수행하는 함수와 데이터 유형·차원에 따라 구분되는 벡터·행렬·리스트·데이터 프레임의 기본 구조 • R 작업 환경 관리: `getwd`·`setwd`를 통한 경로 설정 및 `ls`·`save`·`load`·`rm`을 이용한 객체 목록 확인·저장·삭제 절차 • R 도움말 기능: `help()`·`?`·`??` 명령어를 사용하여 함수·기능에 대한 공식 문서를 검색하고 예제를 확인하는 방법 |
||
|
[4강] R 프로그램 시작하기 실습
|
0:
54:
27
|
|
|
R 및 RStudio 설치와 기본 사용법
• R 및 RStudio 설치: R 공식 CRAN 웹사이트와 RStudio 홈페이지를 통한 프로그램 설치 절차 요약 • R/RStudio 환경: 즉시 실행되는 콘솔과 코드 수정·저장이 용이한 스크립트의 기능적 차이 및 RStudio의 통합 개발 환경(IDE) 기능 • 객체 및 작업 공간 관리: 할당 연산자(`<-`)를 이용한 객체 생성과 `ls()`·`rm()`·`getwd()`·`setwd()` 등 핵심 관리 함수 기능 |
||
| 2장. 데이터 구조 | ||
|
[5강] 데이터의 유형, 벡터
|
0:
57:
32
|
|
|
R 프로그래밍의 데이터 유형과 벡터의 생성 및 활용
• R 데이터 유형 및 객체: 수치형·논리형·문자형 등 기본 유형과 결측치(NA)·무한대(Inf) 등 특수 유형, 벡터·행렬·데이터 프레임 등 주요 데이터 구조 정의 • 벡터 생성 및 인덱싱: c() 함수를 이용한 벡터 생성, names() 함수로 원소 이름 지정, 대괄호([])를 이용한 숫자·논리값·조건식 기반 원소 접근 및 수정 방법 • 연속 및 반복 데이터 생성: 콜론(:), seq(), rep() 함수를 활용한 규칙적 숫자열 생성 원리와 주요 파라미터(by, length.out, each, times) 기능 요약 |
||
|
[6강] 행렬과 배열, 리스트
|
0:
49:
31
|
|
|
R 프로그래밍: 행렬(Matrix), 배열(Array), 리스트(List) 생성 및 인덱싱
• R 데이터 구조: 동일 유형 데이터를 위한 행렬·배열과 이질 유형 데이터를 위한 리스트로 구분 • 데이터 구조 생성: matrix(), array(), list() 함수로 객체를 생성하고 dimnames()로 차원 이름 지정 • 데이터 접근 및 추출: 행렬·배열은 [행, 열] 인덱싱, 리스트는 [[ ]] 또는 $ 기호로 성분(Component) 추출 |
||
|
[7강] 데이터 프레임
|
0:
48:
52
|
|
|
R 데이터 프레임의 생성, 인덱싱 및 데이터 편집
• 데이터 프레임: `data.frame()` 함수로 생성하며, 각 열(변수)마다 다른 자료형을 가질 수 있는 2차원 데이터 구조. • 데이터 접근 및 편집: `[]`, `$` 인덱싱으로 원소를 수정하거나 `attach()` 함수로 변수명을 직접 참조하는 방식. • 데이터 편집 함수 비교: 원본을 변경하지 않고 결과를 반환하는 `edit()` 함수와 원본을 직접 수정하는 `fix()` 함수의 차이점 분석. |
||
|
[8강] 팩터와 오더, 유형의 확인과 변환
|
0:
49:
52
|
|
|
R 팩터(Factor)와 데이터 유형 확인 및 변환 함수
• R 팩터(Factor)와 오더(Ordered): 순서 유무에 따라 factor()와 ordered() 함수로 범주형 및 순서형 데이터를 정의하는 특수 변수. • 데이터 및 객체 유형 확인: is.numeric(), is.vector() 등 is.* 계열 함수를 통해 데이터 속성 및 구조를 판별하고 논리값(TRUE/FALSE)을 반환. • 데이터 및 객체 유형 변환: as.numeric(), as.data.frame() 등 as.* 계열 함수로 유형을 강제 변환하며, 특정 규칙에 따라 변환 불가 시 NA(결측치) 처리. |
||
|
[9강] 데이터 구조 실습 (1)
|
0:
57:
16
|
|
|
R 프로그래밍: 벡터, 팩터 등 객체 생성 및 관리
• R 객체 생성 및 유형: `c()`, `factor()`, `ordered()` 함수를 이용한 벡터·팩터·오더 객체 생성 및 `as.*` 함수를 통한 유형 변환 • 데이터 생성 및 인덱싱: `seq()`·`rep()` 함수로 순서열·반복 데이터를 생성하고, 대괄호`[]`를 이용해 조건부로 원소를 추출·수정 • R 작업 공간 관리: `save.image()`·`load()` 함수를 사용하여 현재 작업 공간의 모든 객체를 파일로 저장하고 불러오는 절차 |
||
|
[10강] 데이터 구조 실습 (2)
|
0:
45:
02
|
|
|
R 데이터 구조: 행렬, 배열, 리스트 생성 및 인덱싱
• R 행렬(Matrix) 생성 및 관리: `matrix`, `cbind`, `rbind` 함수로 생성하며 `dim`, `dimnames`로 차원과 이름을 제어 • 다차원 배열 및 리스트: `array` 함수로 3차원 이상 배열을, `list` 함수로 이질적 데이터 구조를 생성 • 데이터 구조 인덱싱: `[ ]`, `[[ ]]`, `$` 기호를 사용하여 숫자·이름·논리값 기반으로 특정 원소 또는 성분 추출 |
||
|
[11강] 데이터 구조 실습 (3)
|
0:
54:
56
|
|
|
R 데이터 프레임 생성, 조작 및 데이터 유형 관리
• R 데이터 프레임 생성 및 조작: data.frame() 함수로 생성하고 인덱싱, $, attach() 함수를 이용해 원소에 접근 및 수정 • R 데이터 유형 및 구조 관리: is.() 및 as.() 함수로 데이터 유형을 확인·변환하고, str() 함수로 객체 구조를 파악 • R 작업 공간 관리: ls(), rm() 함수로 객체를 관리하고 save.image(), load() 함수로 작업 환경을 저장 및 복원 |
||
| 3장. R 연산자와 함수 | ||
|
[12강] 벡터의 연산과 함수
|
0:
52:
37
|
|
|
R 프로그래밍의 기본 연산자와 벡터 연산 함수
• R 기본 연산자: 산술(+, *, %/%), 비교(==, !=), 논리(&, |) 연산자로 구분되며, 행렬 곱(%*%)과 원소별 곱(*)은 명확히 구분하여 사용 • R 벡터/행렬 연산: 동일 위치의 원소끼리 수행(element-wise)이 기본 원칙이며, 스칼라 값은 모든 원소에 개별 적용됨 • R 벡터화 함수: 반복문 대체를 위한 고효율 내장 함수로, subset(값 필터링), which(인덱스 반환), ifelse(벡터화 조건문) 등이 포함됨 |
||
|
[13강] 행렬, 리스트의 연산과 함수
|
0:
51:
43
|
|
|
R 프로그래밍: 행렬 및 리스트의 연산과 함수
• R 행렬 연산: 행렬 곱셈(%*%), 역행렬(solve), 전치(t) 등 주요 수학적 연산을 수행하는 핵심 함수 모음 • apply 함수: MARGIN 인수를 이용해 행렬의 행(1) 또는 열(2) 방향으로 특정 함수를 일괄 적용하는 반복 연산 기능 • lapply와 sapply 함수: 리스트의 모든 원소에 함수를 적용하며, 반환 값의 자료 구조가 각각 리스트, 벡터/행렬로 구분됨 |
||
|
[14강] 데이터 프레임의 연산과 함수
|
1:
00:
42
|
|
|
R 데이터 프레임 연산, 병합 및 팩터 활용 함수
• 데이터 프레임 연산 함수: lapply/sapply는 변수 단위 함수 적용, tapply/aggregate는 지정된 그룹 기준 요약값 계산 • 데이터 프레임 병합 및 분할: merge는 기준 변수 기반 데이터 결합(Join), split/by는 팩터 기준 데이터 분할 및 함수 일괄 적용 • 팩터 활용 및 데이터 변환: table은 범주형 변수의 빈도표 생성, cut은 연속형 데이터를 지정된 구간에 따라 범주형 데이터로 변환 |
||
|
[15강] 주요 함수 (1)
|
0:
46:
05
|
|
|
R 프로그래밍 주요 산술 및 데이터 처리 함수
• R 산술 연산 함수: `sum`, `round`, `log` 등 기본 수치 연산과 `na.rm` 인수를 이용한 결측값 처리 기능 • R 순위 및 정렬 함수: `rank`(순위 생성), `sort`(값 정렬)의 기능 및 `ties.method`(동률 처리), `index.return`(원본 인덱스 반환) 옵션 • R 적분 함수: `integrate`를 사용하여 지정된 구간 내 단일 변수 함수의 정적분 값을 계산하는 기능 |
||
|
[16강] 주요 함수 (2)
|
0:
58:
11
|
|
|
R 주요 통계 함수, 확률 분포 및 패키지 관리
• R 기본 통계 함수: `mean`, `var`, `cov`, `cor` 등을 활용한 기술 통계량 및 변수 간 관계(공분산, 상관계수) 계산 • R 확률 분포 함수: `d`(밀도/질량), `p`(누적확률), `q`(분위수), `r`(난수) 접두사를 이용해 정규분포, 이항분포 등 제어 • R 패키지 관리: `install.packages()`로 기능 설치, `library()`로 활성화, `detach()`로 비활성화하는 외부 기능 확장 절차 |
||
|
[17강] R 연산자와 함수 실습 (1)
|
0:
56:
28
|
|
|
R 기본 연산자 및 함수 실습: 스칼라, 벡터, 행렬, 리스트
• 스칼라 및 벡터 연산: 사칙연산, 통계 함수(sum, sort), 조건부 처리(which, ifelse) 등 원소 단위 데이터 처리 • 행렬 연산: 원소별 곱셈(*)과 행렬 곱(%*%)을 구분하며, 역행렬(solve), 고유값(eigen) 등 선형대수 연산 수행 • Apply 계열 함수: apply, lapply, sapply를 사용하여 행렬 및 리스트의 각 원소 또는 성분에 함수를 일괄 적용 |
||
|
[18강] R 연산자와 함수 실습 (2)
|
1:
05:
48
|
|
|
R 데이터 프레임 연산 및 기본 함수 활용
• 집단별 데이터 연산: tapply, aggregate, by 함수를 활용한 데이터 분리, 요약 및 함수 일괄 적용 • 데이터 프레임 병합 및 조작: merge 함수의 Join 옵션(inner, outer) 및 cut, rank 함수를 이용한 파생변수 생성 • 기초 통계 및 확률 분포 함수: var, cov2cor로 공분산/상관행렬을 계산하고, d/p/q/r 접두어로 확률밀도·누적확률·분위수·난수 생성 |
||
| 4장. 프로그램의 구조 | ||
|
[19강] 조건문, 반복문, 분기문
|
0:
57:
13
|
|
|
R 프로그래밍의 제어문: 조건문, 반복문, 분기문
• 조건문 (if-else, switch): 조건식의 논리값 또는 특정 값에 따라 코드 실행 흐름을 분기하는 제어 구문 • 반복문 (for, while, repeat): 특정 횟수(for) 또는 조건 충족(while) 시 코드 블록을 반복적으로 수행하는 제어 구조 • 분기문 (break, next): 반복문의 실행을 완전히 종료(break)하거나 현재 반복을 건너뛰고(next) 흐름을 제어하는 명령어 |
||
|
[20강] 반환문, 사용자 정의 함수
|
0:
57:
22
|
|
|
R 프로그래밍: 반환문과 사용자 정의 함수의 이해
• R 사용자 정의 함수: `function` 키워드로 반복 작업을 정의하고 인수(Argument)와 반환문(return)으로 입출력을 제어하는 기능 • 변수 유효 범위(Scope): 지역변수와 전역변수의 개념을 구분하고, 영속대입 연산자(`<<-`)로 전역변수를 제어하는 원리 • 함수 인수 설정: 기본값(Default Value), 인수명 직접 지정, 임의 인수(`...`)를 활용하여 함수의 유연성을 높이는 방법 |
||
|
[21강] 디버깅
|
0:
39:
43
|
|
|
R 프로그래밍의 디버깅: 주요 함수와 사용법
• R 디버깅 기본: debug(), debugonce() 함수로 브라우저(browser) 환경을 활성화하고 코드를 단계별로 실행·분석하는 절차 • 특정 지점 및 조건부 디버깅: 코드 내 browser() 직접 호출로 특정 위치에서, stopifnot()으로 조건 불일치 시 실행을 중단하는 기법 • 충돌 후 오류 분석: traceback()으로 함수 호출 경로를 추적하고 debugger()로 오류 발생 시점의 환경을 분석하는 사후 디버깅 방법 |
||
|
[22강] 성능 향상
|
0:
50:
44
|
|
|
R 프로그래밍 성능 향상: 벡터화와 코드 최적화
• 벡터화(Vectorization) : 반복문(`for`)을 벡터 단위의 단일 연산으로 대체하여 함수 호출 오버헤드를 줄이고 코드 실행 속도를 최적화하는 핵심 기법 • 재귀함수(Recursive Function) : 함수 내부에서 자기 자신을 호출하는 구조로, 문제의 구조에 따라 효율성이 달라지는 연산 방식 • 바이트 코드 컴파일(Byte Code Compilation) : R 코드를 가상 머신용 중간 이진 코드로 변환하여 반복문 기반 코드의 성능을 소폭 개선하는 기법 |
||
|
[23강] 프로그램의 구조 실습 (1)
|
1:
01:
55
|
|
|
R 제어문 실습: 조건문(if, switch)과 반복문(for, while)
• 조건문 (if, switch): 특정 조건의 참/거짓 또는 값에 따라 코드 실행 경로를 분기하는 제어 구조 • 반복문 (for, while): 정해진 횟수(for)나 특정 조건이 만족되는 동안(while) 코드 블록을 반복 수행 • 중첩 제어문: 조건문과 반복문을 조합하여 과락 처리, NA 값 필터링, 데이터 시각화 등 복합 로직 구현 |
||
|
[24강] 프로그램의 구조 실습 (2)
|
1:
10:
01
|
|
|
R 프로그래밍: 분기문, 사용자 정의 함수 및 성능
• 분기문과 사용자 정의 함수: break·next를 이용한 반복문 제어와 function 키워드로 코드 모듈화 및 재사용성 확보 • 함수 관리 및 디버깅: source로 외부 코드 실행, save·load로 객체 관리, debug·traceback으로 오류 추적 및 수정 • R 프로그래밍 성능 최적화: 반복문(for)을 벡터화 연산으로 대체하여 데이터 처리 속도를 향상시키는 기법 |
||
| 5장. 데이터의 입출력 | ||
|
[25강] 키보드와 모니터에 접근
|
0:
41:
43
|
|
|
R 프로그래밍: 키보드와 모니터를 이용한 데이터 입출력
• 키보드 데이터 입력 (scan, readline): 벡터 형식(scan) 또는 한 줄의 단일 문자열(readline)로 사용자 입력을 받는 기능 • 문자열 분리 (strsplit): 특정 구분자를 기준으로 문자열을 분리하며, 결과는 리스트(list) 형태로 반환 • 사용자 선택 메뉴 (menu): 콘솔 또는 GUI 환경에서 선택지를 제시하고, 사용자가 선택한 항목의 번호를 반환 |
||
|
[26강] 파일 읽기와 쓰기
|
0:
55:
11
|
|
|
R 프로그래밍: 텍스트 파일 읽기 및 쓰기 함수
• 텍스트 파일 읽기 함수: `read.table()`, `read.csv()` 등을 이용, 구분자(sep)·헤더(header) 옵션에 따라 외부 데이터를 R 데이터 프레임으로 불러오는 절차. • 데이터 객체 파일 저장: `write.table()`, `write.matrix()` 등을 활용, R 객체의 2차원 구조 유지 여부를 결정하여 텍스트 파일로 내보내는 기능. • sink 함수: R 콘솔 출력 결과를 지정된 파일로 리디렉션(redirection)하고, 함수 재호출을 통해 출력을 콘솔로 복원하는 기능. |
||
|
[27강] 다양한 데이터 파일 읽기와 쓰기
|
0:
56:
16
|
|
|
R: 다양한 데이터 파일 읽기/쓰기 및 DB 연동
• foreign·readxl 패키지: SPSS, SAS, Excel 등 다양한 외부 데이터 파일을 R로 불러오거나 내보내는 기능 제공 • RODBC 패키지: ODBC를 통해 외부 데이터베이스(DBMS)와 연동하여 SQL로 데이터를 읽고 쓰는 양방향 소통 기능 제공 • sqldf 패키지: R 데이터 프레임을 데이터베이스 테이블처럼 취급하여 SQL 질의문으로 데이터를 처리하는 기능 제공 |
||
|
[28강] 데이터의 입출력 실습 (1)
|
0:
49:
40
|
|
|
R 프로그래밍: 키보드를 이용한 외부 데이터 입력 방법
• scan() 함수: 키보드로 여러 값을 입력받아 숫자 벡터(vector) 형태로 직접 생성 및 저장하는 기능 • readline() 함수: 한 줄 텍스트를 단일 문자열로 입력받아 strsplit(), as.numeric() 등과 결합하여 데이터를 파싱·형변환하는 절차 • menu() 함수: 콘솔에 번호가 있는 선택지를 제시하고 사용자가 선택한 번호를 반환하여 프로그램 로직을 분기하는 기능 |
||
|
[29강] 데이터의 입출력 실습 (2)
|
0:
58:
53
|
|
|
R 외부 데이터 입출력: 텍스트, SPSS, 엑셀 파일 처리 방법
• R 텍스트 파일 입출력: scan, read.table, write 함수를 이용해 벡터·데이터 프레임 등 데이터 구조에 맞는 파일 읽기 및 쓰기 방법 • 외부 패키지 데이터 연동: foreign, readxl 패키지를 활용하여 SPSS, SAS, 엑셀 형식의 파일을 R 데이터 프레임으로 변환 및 처리 • R 콘솔 결과 파일 저장: sink 함수를 사용하여 R 스크립트 실행 결과를 화면 대신 텍스트 파일로 직접 저장하는 절차 |
||
|
[30강] 데이터의 입출력 실습 (3)
|
0:
49:
21
|
|
|
R 데이터 프레임의 SQL 활용: sqldf 패키지
• R 데이터 프레임 SQL 쿼리: sqldf 패키지를 통해 SELECT, WHERE, ORDER BY 구문으로 데이터를 선택, 필터링, 정렬하는 기본 조작법. • 집계 함수와 GROUP BY 활용: COUNT, AVG 등 함수와 GROUP BY 절을 결합하여 범주별 데이터 요약 및 통계량 계산. • 데이터 프레임 결합 (JOIN): INNER JOIN과 LEFT OUTER JOIN을 이용, 공통 키(key)를 기준으로 두 개 이상의 데이터 프레임을 병합하는 방법. |
||
| 6장. 그래픽스 | ||
|
[31강] 그래픽 장치
|
0:
50:
40
|
|
|
R 프로그래밍 그래픽 장치 제어 및 모수 설정
• R 그래픽 장치 : 그래프 출력 위치(윈도우, 파일) 지정 및 dev.off()를 이용한 파일 저장 완료 절차 • 다중 그래픽 장치 관리 : dev.list(), dev.cur(), dev.set() 함수로 현재 장치 목록 확인, 활성화, 특정 장치 전환 제어 • 그래픽스 모수(Parameter) : par() 함수를 통해 점 모양(pch), 크기(cex), 여백(mar) 등 전역 시각 요소를 설정 및 조정하는 기능 |
||
|
[32강] 다양한 그래프 작성하기
|
0:
55:
29
|
|
|
R 프로그래밍을 활용한 단일 및 다변수 그래프 작성법
• 단일 변수 그래프: 범주형 자료(pie(), barplot())와 양적 자료(hist(), boxplot(), stem())의 분포 시각화 기법 • 다변수 관계 그래프: 두 변수 관계를 파악하는 누적/병렬 막대그림, 집단별 상자그림, 산점도(plot()), 모자이크 그림(mosaicplot()) • 산점도 중첩 문제 해결: 동일 좌표의 데이터 밀집 현상을 보완하는 해바라기 산점도(sunflowerplot())와 흩어뿌리기(jitter()) 기법 |
||
|
[33강] 그래픽 영역 분할
|
0:
51:
21
|
|
|
R 프로그래밍 그래픽 영역 분할 방법
• par 함수: mfrow/mfcol 인수를 이용한 격자 분할, fig 인수를 이용한 좌표 기반 분할, new=T 옵션을 이용한 그래프 중첩 기능 제공. • split.screen 함수: 분할된 영역을 재귀적으로 다시 분할하는 기능으로, screen(n) 함수로 특정 영역을 활성화하여 제어. • layout 함수: 행렬(matrix)을 이용한 비정형 분할 방식으로, 숫자 값으로 영역 병합 및 공백을 지정하여 유연한 레이아웃 구성. |
||
|
[34강] 그래프에 필요한 추가 기능
|
0:
58:
29
|
|
|
R 프로그래밍 그래프 추가 기능: 제목, 범례, 축, 선, 수식 삽입
• 저수준 그래픽 함수: title(), legend(), axis()를 이용해 제목, 범례, 축 등 그래프 기본 요소 설정 • 그래픽 객체 추가: points(), lines(), abline()을 사용해 점, 선, 회귀직선 등 시각 정보 추가 • expression() 함수 활용: 위/아래첨자, 분수, 제곱근 등 예약어를 통해 그래프 내 수학 수식 입력 |
||
|
[35강] 다변량 그래프, 3차원 그래프
|
1:
02:
38
|
|
|
R을 활용한 다변량 및 3차원 그래프 시각화
• 다변량 관계 시각화: car, corrgram 패키지를 활용한 산점도 행렬과 상관도로 변수 쌍 간의 패턴 및 상관관계 분석 • 다차원 데이터 표현 기법: aplpack의 체르노프 얼굴그림과 graphics의 물방울 그림으로 다변량 정보를 직관적 형태로 변환 • 3차원 공간 시각화: scatterplot3d(정적), rgl(동적) 패키지를 이용해 3개 변수의 공간적 분포와 회귀평면 탐색 |
||
|
[36강] 그래픽용 패키지 이용 (1)
|
0:
50:
06
|
|
|
R 그래픽 패키지 ggplot2의 기본 문법 및 활용
• ggplot2 그래픽 문법: 데이터(Data)·미적 특징(aes)·형태(geom) 3요소를 `+` 연산자로 결합하는 계층적 그래프 생성 체계 • 주요 geom 함수: geom_bar(막대도표), geom_histogram(히스토그램), geom_point(산점도) 등 그래프 종류를 지정하는 핵심 기능 • 그래프 분할 기법: 단일 그래프 내 집단화(colour, shape)와 다중 그래프로 영역을 나누는 측면화(facet_grid)로 구성 |
||
|
[37강] 그래픽용 패키지 이용 (2)
|
0:
59:
57
|
|
|
R ggplot2 패키지를 이용한 고급 그래프 작성법
• ggplot2 계층적 구조: 데이터, 미적 특성(aes), 그래프 형태(geom)를 `+` 기호로 결합하는 그래픽 생성 원리 • 주요 geom 함수 및 집단화: geom_point, geom_bar 등 함수로 산점도·막대그래프를 생성하고 aes(colour=집단변수)로 그룹별 시각화 • 분할 그래프(Facet) 기능: facet_grid() 함수를 사용하여 특정 변수의 수준별로 그래프 영역을 분할하는 다차원 데이터 탐색 기법 |
||
|
[38강] 그래픽스 실습 (1)
|
1:
05:
47
|
|
|
R 그래픽 장치 관리 및 기본 그래프 작성 방법
• R 그래픽 장치 관리: `windows()`, `jpeg()` 등 함수로 장치를 열고, 그래프 작성 후 `dev.off()`로 닫아 출력물을 생성 및 파일로 저장하는 절차 • 그래픽 파라미터 설정: `par()` 함수를 이용해 점 모양(pch), 크기(cex), 여백(mar, oma) 등 전역 그래픽 속성을 제어하는 방법 • 자료 유형별 시각화: 일변량(barplot, hist, boxplot) 및 이변량(plot, mosaicplot) 데이터 구조에 따른 기본 그래프 작성법 |
||
|
[39강] 그래픽스 실습 (2)
|
1:
09:
06
|
|
|
R 그래픽 장치 영역 분할: 다중 그래프 작성법
• par(mfrow, mfcol) 함수: 그래픽 장치를 동일 크기 격자로 분할하며, mfrow는 행 우선, mfcol은 열 우선으로 그래프를 배치. • par(fig), split.screen(), layout() 함수: 좌표(`fig`), 재귀(`split.screen`), 행렬(`layout`) 기반의 비대칭적·복합적 영역 분할 기능 제공. • par(new=TRUE) 옵션: 기존 그래프를 지우지 않고 새 영역에 그래프를 추가하거나(fig), 현재 영역에 그래프를 중첩(mfrow/mfcol)하는 기능. |
||
|
[40강] 그래픽스 실습 (3)
|
1:
03:
22
|
|
|
R 그래프 시각화: 플롯 요소 추가 및 수식 표현
• R 그래프 구성 요소 제어: `axis`, `abline`, `legend`, `title` 함수를 이용해 축, 참조선, 범례, 제목을 추가 및 수정 • 좌표 기반 데이터 정보 추가: `text` 및 `points` 함수를 사용하여 이상치 값, 평균 위치 등 특정 좌표에 텍스트와 점을 표시 • 그래프 내 수식 표현: `expression` 함수를 사용하여 확률밀도함수(PDF) 등 수학/통계 수식을 시각화 |
||
|
[41강] 그래픽스 실습 (4)
|
1:
00:
16
|
|
|
R을 활용한 다변량 데이터 시각화: 패키지별 그래프 작성법
• car 패키지 활용 시각화: `scatterplot()` 함수로 집단별 산점도, `scatterplotMatrix()` 함수로 산점도 행렬 생성 • 다변량 데이터 시각화 기법: `corgram` 상관도 행렬, `aplpack` 체르노프 얼굴 그림, `symbols` 물방울 산점도 작성 원리 • 3차원 산점도 패키지 비교: `scatterplot3d`(정적), `rgl`(동적), `car`의 `scatter3d`(고급 동적) 기능 및 특징 요약 |
||
|
[42강] 그래픽스 실습 (5)
|
1:
04:
54
|
|
|
R ggplot2 패키지를 활용한 그래프 작성법
• ggplot2 기본 문법: 데이터(data)와 밑정 요소(aes), 형태 요소(geom)를 `+` 기호로 결합하는 계층적 시각화 구조 • 주요 geom 함수: `geom_bar` (막대), `geom_point` (산점도), `geom_histogram` (히스토그램), `geom_boxplot` (상자) 등 특정 그래프 유형 생성 • 집단별 시각화 기법: `aes` 내 색상·모양 매핑으로 단일 플롯에 그룹을 표현하거나 `facet_grid` 함수로 그래프 영역을 분할 |
||
| 7장. R 통계 | ||
|
[43강] 통계적 추론
|
0:
55:
54
|
|
|
통계적 추론의 기초: 추정과 가설검정
• 통계적 추론: 표본의 통계량을 이용해 모집단 특성인 모수를 추측하는 과정으로, 추정과 가설검정으로 구분. • 추정(Estimation): 모수를 하나의 값으로 추측하는 점추정과, 신뢰수준 하에 모수가 포함될 구간을 제시하는 구간추정으로 구성. • 가설검정(Hypothesis Testing): 귀무가설과 대립가설 설정 후 p-값과 유의수준(α)을 비교해 통계적 의사결정을 내리는 절차. |
||
|
[44강] 모집단의 가설검정
|
0:
57:
00
|
|
|
R을 이용한 단일 모집단 가설검정 방법
• 단일 모집단 가설검정 절차: 정규성 검정(Shapiro-Wilk)을 선행하고, p-값과 유의수준을 비교해 귀무가설 기각 여부 판단 • 모평균 및 모비율 검정: t-분포(t.test)와 정규분포(prop.test)를 이용해 각 모수를 특정 값과 비교 검증 • 모분산 검정: 카이제곱 분포를 따르는 검정통계량을 계산하여 모집단 분산의 가설을 검증 |
||
|
[45강] 두 모집단의 비교
|
0:
56:
24
|
|
|
R 프로그래밍을 활용한 두 모집단의 비교: T-검정, F-검정, 비율 검정
• 두 모평균 차이 검정 (T-검정): 독립표본(등분산/이분산)과 대응표본으로 구분하여 평균 차이를 분석하며, R 함수 t.test()를 활용. • 두 모분산 비 검정 (F-검정): 두 정규 모집단의 분산 동일성(등분산성)을 검증하는 절차로, 독립표본 T-검정의 전제조건 확인에 필수적이며 R 함수 var.test()로 수행. • 두 모비율 차이 검정: 두 모집단의 특정 속성 비율 차이를 검정하는 방법으로, 합동추정량을 이용한 Z-통계량을 계산하고 R 함수 prop.test()로 분석. |
||
|
[46강] 분산분석, 범주형 자료분석
|
0:
59:
24
|
|
|
분산분석(ANOVA)과 범주형 자료 분석(카이제곱 검정)
• 분산분석(ANOVA): 셋 이상 집단 간 모평균 차이를 검정하기 위해, 총변동을 집단 간 변동과 집단 내 변동으로 분해하여 F-통계량으로 분석하는 기법. • 사후검정(Post-hoc Test): 분산분석의 귀무가설 기각 시, 튜키(Tukey) HSD 등의 방법으로 구체적으로 어떤 집단 간 평균 차이가 있는지 파악하는 다중비교 분석. • 카이제곱 검정(Chi-square Test): 관측도수와 기대도수의 차이를 기반으로 하며, 적합도(이론 분포 일치), 독립성(변수 간 연관성), 동질성(집단 간 비율 동일성) 검정에 활용. |
||
|
[47강] 상관분석과 회귀분석
|
0:
56:
53
|
|
|
R 프로그래밍: 상관분석과 회귀분석의 이해
• 상관분석: 두 양적 변수 간 선형 관계의 강도와 방향을 상관계수(r)로 측정하고, R의 cor.test() 함수로 통계적 유의성을 검정. • 회귀분석: 독립변수가 종속변수에 미치는 영향을 수학적 모형으로 규명·예측하며, 최소제곱법으로 회귀계수를 추정. • 회귀모형 평가: 결정계수(R²)로 모형의 설명력을 판단하고, F-검정과 t-검정으로 모형 및 회귀계수의 통계적 유의성을 평가. |
||
|
[48강] R 통계 실습 (1)
|
0:
54:
47
|
|
|
R 통계 실습: 가설 검정 R 코드 구현 및 해석
• 가설 검정 R 함수: t.test(평균), prop.test(비율), chisq.test(독립성) 등 목적별 검정 코드 구현 및 적용 • 데이터 사전 검정: shapiro.test(정규성)와 var.test(등분산성)를 이용한 가설 검정의 선행 조건 분석 • 통계적 의사결정 원리: 귀무가설과 대립가설 설정 후, p-값과 유의수준 비교를 통한 가설 채택·기각 절차 |
||
|
[49강] R 통계 실습 (2)
|
0:
57:
21
|
|
|
R을 활용한 통계적 가설검정 및 회귀분석 실습
• 카이제곱 검정·t-검정·분산분석(ANOVA): R을 활용해 집단 간 분포, 평균 차이를 검증하는 통계적 가설검정 절차 • 사후검정 및 상관분석: 분산분석 후 특정 집단 간 차이를 규명하고, 변수 간 선형 관계의 유의성을 검정하는 방법 • 다중회귀분석: lm() 함수 기반 모형 추정, F-검정(모형 전체)과 t-검정(개별 변수)을 통한 유의성 해석 및 예측 |
||
| 8장. R 응용 | ||
|
[50강] 사회네트워크분석
|
0:
49:
20
|
|
|
R을 활용한 사회네트워크분석(SNA)의 주요 지표
• 사회네트워크분석(SNA) 개념: 개인 간 관계를 노드와 연결선으로 표현하고, 지표행렬(indicator matrix)로 네트워크 구조를 수학적으로 정량화하는 분석 기법. • 네트워크 경로 및 지표 계산: 지표행렬의 거듭제곱을 통해 노드 간 경로 수를 계산하며, 최단거리·연결선 수(degree)·밀도(density) 등 지표로 네트워크 특성 분석. • R sna 패키지 활용: `geodist()`, `degree()`, `gden()` 등 함수를 이용해 최단거리, 연결선 수, 밀도 같은 네트워크 지표를 실제 데이터에서 분석 및 시각화. |
||
|
[51강] 의사결정트리
|
0:
53:
35
|
|
|
의사결정나무의 개념, 형성과정 및 R 실습
• 의사결정나무: 데이터를 반복적으로 분할해 분류·예측 규칙을 생성하는 지도학습 기법으로, If-Then 규칙 기반의 높은 해석력이 특징. • 의사결정나무 형성과정: 불순도를 최소화하는 기준으로 나무를 성장시키고, 과적합 방지를 위해 가지치기로 모형을 단순화하는 절차. • 주요 알고리즘 및 구현: CART, C4.5, CHAID 등은 분리 기준에 따라 구분되며, R party 패키지를 통해 학습/검정 데이터로 모형을 구축하고 평가. |
||
|
[52강] 워드 클라우드
|
0:
45:
45
|
|
|
R을 활용한 워드 클라우드와 몬테카를로 시뮬레이션
• 워드 클라우드 생성: KoNLP 패키지로 명사를 추출, 불용어 제거 및 빈도 계산 등 전처리 후 wordcloud/wordcloud2 패키지로 시각화하는 절차 • KoNLP 패키지: extractNoun()을 통한 한글 명사 추출 및 buildDictionary()를 이용한 사용자 사전 구축 기능 제공 • 몬테카를로 시뮬레이션: 난수를 반복 생성하여 그 결과를 확률적으로 분석, 원주율(π) 등 복잡한 문제의 근사값을 구하는 알고리즘 |
||
|
[53강] R 응용 실습 (1)
|
0:
46:
29
|
|
|
R 통계 실습: 사회 네트워크 분석 및 의사결정나무
• 사회 네트워크 분석(SNA): R의 sna 패키지를 이용해 관계 데이터를 지표행렬로 구조화하고, 밀도·연결선수·최단거리 등 핵심 지표를 계산하여 네트워크 특성을 파악하는 절차. • 의사결정나무 모형 생성: R의 party 패키지와 ctree 함수를 사용하여 학습 데이터 기반의 분류 규칙을 도출하고, 이를 시각화하여 데이터 구조를 해석하는 과정. • 분류 모형 성능 평가: 데이터를 학습용과 검증용으로 분할하고, 예측 결과를 실제 값과 분할표(confusion matrix)로 비교하여 정분류율 기반으로 모형의 일반화 성능을 검증. |
||
|
[54강] R 응용 실습 (2)
|
0:
59:
00
|
|
|
R을 활용한 텍스트 마이닝과 몬테카를로 적분
• R 워드클라우드 생성: KoNLP 등 R 패키지를 활용한 텍스트 전처리, 명사 추출, 단어 빈도 분석 및 시각화 절차. • 몬테카를로 적분 원리: 난수 기반 시뮬레이션으로 특정 영역 내 표본 비율을 계산하여 함수의 정적분 값을 근사하는 확률적 기법. • 적중법 (Hit-and-Miss Method): 설정된 사각 영역 내 무작위 점을 생성, 함수 그래프 아래에 위치하는 점의 비율로 적분값을 추정하는 방법론. |
||
| 부록 | ||
|
[55강] R 소스
|
0:
00:
00
|
|
|
파일을 다운받아 이용하시면 됩니다.
|
||
김용태 교수님
R 프로그래밍(통계분석)