R
PART 03 · 데이터 분석 · 2장
R 프로그래밍 기초 · 시각화 학습 교안
← → 방향키 · 하단 화살표 버튼으로 이동 · 인쇄 시 모든 장 출력
01 · COURSE OVERVIEW교재 pp.198–206

R 프로그래밍 기초
데이터 분석의 출발점

R은 무엇이며, RStudio로 어떻게 코드를 작성하고 데이터에서 통계 결과를 얻을까요?

수업의 학습목표

목표 01

분석 환경 이해

SPSS·SAS·R·Python·Stata의 역할과 R과 RStudio의 차이를 설명한다.

목표 02

설치와 화면 익히기

R을 먼저 설치하고 RStudio를 설치한 뒤 4개 작업 영역을 구분한다.

목표 03

기본 코드 작성

패키지, 스크립트, 변수, 벡터, 연산자와 함수 사용법을 이해한다.

목표 04

통계 계산·기출 해결

평균·표준편차·상관계수를 계산하고 관련 기출문제를 설명할 수 있다.

오늘의 지식 흐름

1환경R / RStudio
→
2준비설치 / 패키지
→
3작성변수 / 연산 / 벡터
→
4분석함수 / 결과 / 기출
핵심 키워드
R 언어RStudio패키지 package스크립트 script변수 variable벡터 vector연산자 operator통계 함수

🎞️ 4컷으로 미리 보기

하나의 데이터가 분석 결과가 되기까지
1
🧑‍🎓
궁금증 발견“관광객 수의 평균은?”
2
💻
도구 준비“R과 RStudio를 켜자!”
3
⌨️
코드 입력“mean(방문객수)”
4
📊
결과 해석“평균 방문객 수를 알았어!”
02 · INTRODUCTION교재 pp.198–199

R은 분석 엔진, RStudio는 작업실

통계 언어와 개발 환경을 구분하면 R을 시작하기가 훨씬 쉬워집니다.

R 언어 / 실행 환경통계 계산 · 데이터 처리 · 시각화
+
통합 개발 환경(IDE)코드 편집 · 실행 · 결과 · 파일 관리
💡
비유: R은 음식을 실제로 만드는 조리 기술과 조리 도구, RStudio는 재료와 조리 순서를 정리한 편리한 주방입니다. RStudio 없이도 R을 실행할 수 있습니다.

데이터 분석 도구의 대표적 특징

도구주요 성격기억할 점
R오픈소스 통계 프로그래밍 언어통계 분석·그래프·패키지 생태계
Python범용 프로그래밍 언어데이터 처리·자동화·AI 등 폭넓은 활용
SPSS상용 통계 분석 소프트웨어메뉴 기반 분석에 익숙한 사용자에게 편리
SAS상용 분석·데이터 관리 플랫폼조직·기업의 데이터 처리 환경에서 활용
Stata상용 통계 분석 소프트웨어사회과학·계량경제 분석에 널리 활용

🎞️ R과 RStudio를 구별하는 이야기

엔진과 작업실의 관계
1
🧮
계산이 필요해!“평균을 구하고 싶어.”
2
🔧
R이 계산 담당“계산 함수는 내가 실행해.”
3
🗂️
RStudio가 정리“코드와 결과를 한눈에!”
4
✅
함께 활용“분석도, 정리도 편하네.”
⭐
시험 핵심: R은 오픈소스이며 Windows·macOS·Linux 환경에서 사용할 수 있습니다. 패키지를 통해 기능을 확장합니다.
03 · INSTALLATION교재 pp.199–200

설치는 ‘R 먼저 → RStudio 나중’

두 프로그램의 역할을 구분하면 설치 순서도 자연스럽게 기억됩니다.

1CRAN 접속cran.r-project.org
→
2운영체제 선택Windows / macOS / Linux
→
3R 설치해당 OS용 배포판
→
4RStudio 설치Posit 공식 사이트
① 🧠

R 설치: 계산할 수 있는 환경 확보

CRAN 사이트에서 운영체제에 맞는 최신 안정 버전의 R을 내려받아 설치합니다. Windows에서는 일반적으로 base 배포판을 선택합니다.

② 🖥️

RStudio Desktop 설치: 편집 환경 확보

Posit 사이트에서 운영체제에 맞는 RStudio Desktop을 설치한 후 실행합니다. RStudio는 보통 설치된 R을 찾아 연결합니다.

⚠️
버전 주의: 교재에 등장하는 R 4.2.2·4.4.2 등의 번호는 과거 화면의 예시입니다. 고정된 버전을 최신 버전으로 암기하지 말고, 설치할 때 공식 사이트에서 최신 안정 버전을 확인합니다.

🎞️ 설치 순서를 기억하는 4컷

조리 프로그램을 먼저, 주방 화면을 다음에
1
🤔
뭐부터 깔지?“프로그램이 두 개네?”
2
Ⓡ
R부터 설치“먼저 계산 엔진!”
3
🖥️
RStudio 설치“이제 편집 작업실!”
4
🚀
실행 확인“1 + 1 → 2, 준비 끝!”
04 · IDE INTERFACE교재 pp.199, 201

RStudio의 네 구역을 한눈에

각 창을 클릭하면 역할을 설명합니다. 실제 화면과 유사한 배치로 공부합니다.

RStudio Desktop · 학습용 화면 모형▱ □ ×
① Source (코드 편집기) — 코드를 여러 줄로 작성하고 .R 파일로 저장합니다. 반복 분석을 위해 코드 기록을 남기는 공간입니다.

R 기본 프로그램

Console에 직접 코드를 실행할 수 있으며 별도의 스크립트 편집기도 사용할 수 있습니다.

RStudio 사용의 장점

코드, 변수 목록, 실행 결과, 그래프와 도움말을 통합 화면에서 쉽게 관리할 수 있습니다.

🎞️ 네 창의 협업

코드 → 실행 → 상태 → 결과
1
✍️
Source“코드를 여기 적자.”
2
▶️
Console“실행하면 답이 나와!”
3
📦
Environment“변수가 잘 저장됐네.”
4
📈
Plots / Help“그래프와 설명을 보자.”
⌨️
RStudio 기본 단축키: Ctrl + Enter (Windows/Linux, 현재 줄·선택 영역 실행), Cmd + Enter (Mac), Ctrl + S (저장), Ctrl + Shift + C (주석 전환; Windows/Linux).
05 · PACKAGES교재 p.202

패키지는 기능을 담은 도구 상자

새로운 패키지는 보통 설치 → 불러오기 → 사용 순서로 활용합니다.

1설치하기install.packages(...)
→
2로드하기library(...)
→
3함수 사용패키지의 기능 실행
# 최초 설치: 보통 한 번 수행 install.packages("dplyr") # 현재 R 세션에서 불러오기 library(dplyr) # 따옴표를 써도 가능 library("dplyr")

꼭 기억할 구분

install.packages("dplyr") = 컴퓨터에 설치
library(dplyr) = 지금 실행 중인 R 세션에서 연결

업데이트: update.packages()
설치 목록: installed.packages()

📌
중요한 예외: library("dplyr")도 올바른 표현입니다. 기출문제에서는 패키지 설치 시 이름을 문자열로 전달하는 일반적인 표기와 설치·로드의 순서를 함께 보세요.

🎞️ 패키지는 문구점에서 사 온 도구 상자

설치만 하면 바로 사용되는 것은 아닙니다
1
🧰
도구가 필요해“특별한 함수가 필요해!”
2
📥
패키지 설치“상자를 가져왔어.”
3
📂
패키지 로드“상자를 열어 준비!”
4
🛠️
함수 사용“이제 일을 해보자.”
06 · WORKFLOW교재 pp.202–203

코드 저장부터 파일 출력까지

R 코드를 다시 실행할 수 있게 만드는 기본 명령어와 작업 흐름을 익힙니다.

📁 파일·작업환경

getwd()현재 작업 폴더 위치 확인
setwd("경로")작업 폴더 변경
list.files()폴더 내 파일 목록 확인
ls()현재 환경의 객체 이름 확인
rm(list=ls())현재 환경 객체 삭제 주의

💾 코드 실행·출력

source("file.R")저장된 R 스크립트 실행
sink("out.txt")콘솔 출력 파일로 보내기
sink()출력 연결 종료
pdf("plot.pdf")PDF 그래픽 장치 열기
dev.off()그래픽 장치 닫고 파일 완성

스크립트를 저장하고 실행하기

visitors <- c(10, 20, 30) mean(visitors) # 작성 후 example.R로 저장 source("example.R")

그래프를 PDF 파일로 저장하기

pdf("plot.pdf") plot(c(1, 2, 3), c(2, 4, 6)) dev.off() # 장치를 닫아야 파일이 완성됨

🎞️ 스크립트는 반복 가능한 실험 기록

한 번 쓰고 버리는 대신 다시 실행하기
1
📝
과정 기록“무슨 계산을 했더라?”
2
💾
파일로 저장“example.R로 남겨!”
3
🔁
다시 실행“source()로 한 번에!”
4
📄
결과 내보내기“PDF도 저장했어.”
⚠️
안전 메모: sink()를 열었으면 다시 닫고, pdf()를 열었으면 dev.off()로 닫습니다. rm(list=ls())는 기존 객체를 지우므로 실행 전 확인하세요.
07 · VARIABLES / VECTORS교재 pp.203–204

변수는 이름표, 벡터는 값의 묶음

R은 이름표를 붙여 데이터를 저장하고 여러 값을 벡터 하나로 관리할 수 있습니다.

변수(variable): 값을 담는 이름

name <- "Jane" visitors <- c(10, 20, 30, 40, 50) class(name) # "character" class(visitors) # "numeric"

대입연산자 <-는 오른쪽 값을 왼쪽 이름에 저장합니다. =도 가능한 맥락이 있지만 초보 단계에서는 <-를 권장합니다.

벡터(vector)의 그림

visitors <- c(10,20,30,40,50)
10
20
30
40
50

한 이름 visitors 아래 숫자 5개가 차례로 묶였습니다. visitors[2]는 두 번째 값인 20입니다. R의 인덱스는 1부터 시작합니다.

✅ 사용할 수 있는 변수명

x · abc_1 · efg.2 · .sample

영문자 또는 조건에 맞는 마침표로 시작할 수 있습니다.

❌ 일반적인 변수명 규칙 위반

1a (숫자로 시작) · .3 (점 뒤 숫자) · x-y (하이픈은 뺄셈 연산자로 해석)

🎞️ 이름표와 값 상자

변수·벡터의 차이
1
🏷️
이름 붙이기“visitors라고 부를게.”
2
📦
값 여러 개 담기“c(10, 20, 30)”
3
🔎
두 번째 값은?“visitors[2]”
4
🎉
20 발견!“R은 1부터 세어.”
08 · OPERATORS교재 p.204

연산자는 컴퓨터에 내리는 계산 지시

계산·비교·논리 연산을 구분하고 버튼으로 R 코드의 결과를 예측해 봅니다.

➕ 산술

+ - * / ^
덧셈·뺄셈·곱셈·나눗셈·거듭제곱

⚖️ 비교

== != > < >= <=
참인지 거짓인지 판정

🧩 논리

! & | && ||
NOT·AND·OR 결합

직접 눌러보는 계산 실험실

R 표현식
2 ^ 3
2를 세 번 곱합니다: 2×2×2=8
계산 결과8

연산 우선순위

괄호 → 지수 → 곱셈·나눗셈 → 덧셈·뺄셈의 기본 흐름을 기억합니다. 특수 연산자·논리 연산까지 포함한 정확한 우선순위는 R 도움말 ?Syntax를 참조합니다.

모형식 formula

price ~ area + rooms

왼쪽: 결과변수 price
오른쪽: 설명변수 area, rooms
~는 회귀모형에서 두 영역을 연결합니다.

🎞️ 조건을 판단하는 연산

TRUE와 FALSE의 의미
1
❓
비교 질문“3 == 5 인가?”
2
🙅
결과는 FALSE“서로 다르잖아!”
3
🤝
AND 연결“둘 다 참이어야 해.”
4
✅
판단 완료“조건에 따라 답이 바뀌네!”
🧠
구별: =은 대입에 쓸 수 있고, ==는 두 값이 같은지 비교합니다. &/|는 원소별 벡터 연산, &&/||는 조건 판단에 쓰는 단축 평가 연산입니다.
09 · BASIC STATISTICS교재 p.205

벡터 하나로 통계량을 계산하기

방문객 수 5개의 값을 바꾸면 평균·표본분산·표본표준편차가 어떻게 달라질까요?

이 그래프는 입력값의 상대적 크기를 비교하며, 이 수업의 예제 계산은 브라우저에서 미리 보여주는 방식입니다.

실시간 결과 해석

30총합 ÷ 자료 개수
30정렬 시 가운데 값
150값 모두 더하기
250편차 제곱합 ÷ (n−1)
15.811분산의 제곱근
5자료의 원소 개수

R 코드

x <- c(10, 20, 30, 40, 50) mean(x) # 30 var(x) # 250 (표본분산) sd(x) # 15.81139... length(x) # 5

통계 함수 빠른 지도

log(x)

자연로그(기본 밑 e)

cov(x,y)

표본 공분산

cor(x,y)

상관계수

sum(x)

합계

🎞️ 평균과 표준편차의 차이

중심이 같아도 퍼짐이 다를 수 있어요
1
👥
다섯 관광지“방문객 수가 달라.”
2
🎯
평균 찾기“전체를 나눠 중심 확인!”
3
↔️
차이 확인“평균에서 얼마나 멀지?”
4
📏
표준편차“퍼진 정도를 나타내!”
🔍
교재 오탈자 바로잡기: 분산 함수는 var(x)입니다(‘wr’ 아님). length(x)는 합계가 아니라 값의 개수를 구합니다. R의 sd()·var()는 기본적으로 표본 방식의 n−1을 사용합니다.
10 · R CODE READING교재 p.199

교재의 Animals 예제, 코드로 읽기

기본 R 문법이 실제 통계분석 코드에 어떻게 연결되는지 봅니다.

# MASS 패키지 데이터 사용 library(MASS) data(Animals) # 체중(body)이 뇌 무게(brain)와 # 어떤 관련이 있는지 로그 회귀 fit <- lm( log(brain) ~ log(body), data = Animals ) plot(log(Animals$body), log(Animals$brain)) abline(fit, lty = "dotted")

코드 해부도

lm( y ~ x, data = … )
y = log(brain)설명할 결과변수
x = log(body)설명변수
data = Animals사용할 데이터셋
🧭
lm()은 선형회귀모형을 적합합니다. plot()은 그래프, abline()은 회귀직선을 추가합니다.

🎞️ 코드가 그래프로 이어지는 과정

분석 단계 추적
1
🐘
데이터 가져오기“Animals 자료를 쓰자.”
2
📐
모형 세우기“뇌 무게 ~ 체중”
3
📈
점으로 표시“관측치를 찍자.”
4
➖
회귀선 그리기“경향을 선으로 보자!”
📍
교재 코드 보완: 함수는 lm(), 회귀모형식의 연결 기호는 ~입니다. attach(Animals) 없이 data = Animals를 쓰면 같은 이름의 객체가 혼동되는 일을 줄일 수 있습니다.
11 · REVIEW교재 pp.198–206

시험 직전: 반드시 구별할 6가지

개념을 연결해 기억하고 기출문제 2개로 확인합니다.

① 도구

R ≠ RStudio

R = 통계 언어·계산 환경
RStudio = 편리한 IDE

② 운영체제

Linux에서도 실행

Windows·macOS·Linux에서 R 사용 가능

③ 순서

설치 → 로드

install.packages() 이후 library()

④ 데이터

변수 ← 벡터

x <- c(1, 2, 3)
여러 숫자를 한 이름으로 관리

⑤ 함수

var() · sd()

표본분산과 표본표준편차: n−1 사용

⑥ 실행

Ctrl + Enter

RStudio에서 코드 줄/선택 영역 실행(Windows/Linux 기본값)

셀프 점검 체크리스트

🎯
마무리 메시지: R은 데이터를 코드로 처리하는 도구이고, RStudio는 그 작업을 편리하게 만드는 환경입니다. 아래의 ‘기출문제 풀기’를 눌러 문제를 좌우로 넘기며 확인하세요.
기출 01 · 23회 · R의 기본 특징교재 pp.205–206

어떤 설명이 가장 부적절할까?

선택지를 누르면 채점하고, 해설 보기로 정답의 근거를 확인할 수 있습니다.

학습 목표: R의 특징출제 키워드: 오픈소스·운영체제

① 문제 위의 관련 이론 그림

R = 오픈소스 통계 언어
무료로 이용오픈소스 생태계
분석·시각화통계·데이터마이닝·패키지
다양한 OSWindows / macOS / Linux

② 23회 기출문제

1. 다음 중 통계 패키지 R에 대한 설명으로 가장 부적절한 것은?

정답 ③ · Linux에서도 R을 사용할 수 있습니다.

판단 원리: 질문에서 ‘부적절한 설명’을 찾으라고 했으므로 틀린 명제 하나를 골라야 합니다. R은 Linux·Windows·macOS에 설치할 수 있습니다.

선지 판별: ① 오픈소스 → 맞음 / ② 다양한 통계·마이닝 기능 → 맞음 / ③ Linux 사용 불가능 → 틀림 / ④ 예제·커뮤니티 공유 → 맞음.

🎞️ 왜 ③이 정답일까?

운영체제는 R의 장벽이 아닙니다
1
💻
Windows“R 설치 가능!”
2
🍎
macOS“여기도 가능!”
3
🐧
Linux“나도 쓸 수 있어!”
4
✅
정답은 ③“불가능하다는 말이 틀려!”
📝
암기 문장: R = 오픈소스 + 통계 기능 + 다양한 운영체제 + 활발한 공유 문화.
기출 02 · 19회 · 패키지 설치와 로드교재 pp.205–206

패키지는 어떤 순서로 사용할까?

코드의 정확한 철자와 설치·로드 순서를 함께 살펴봅니다.

학습 목표: 패키지 명령어핵심: 설치 → 로드

① 문제 위의 관련 이론 그림

1컴퓨터에 설치install.packages("pkg")
→
2세션에서 로드library(pkg)
→
3함수 실행패키지 기능 사용

② 19회 기출문제

2. R에서 새로운 패키지를 설치 및 사용하고자 할 때 명령어와 순서로 적절한 것은?

정답 ① · 일반적인 설치 문법과 로드 순서를 모두 만족합니다.

① 정답: 보편적인 사용 예

install.packages("dplyr")
library(dplyr)

② 오답: 통상적 설치 표현이 아님

install.packages(dplyr)
library("dplyr")

①이 가장 적절한 이유: install.packages()에 일반적으로 문자열 패키지명을 넘겨 설치하고, 그 다음 library()로 불러옵니다.

②의 함정: library("dplyr") 자체는 정상적인 R 문법입니다. 문제는 install.packages(dplyr)가 일반적인 초보 학습 문맥에서 문자값으로 정의되지 않은 객체를 참조한다는 점입니다. 미리 그 이름의 문자열 객체가 정의되어 있다면 작동할 수 있으므로 ‘어떤 경우에도 불가능’하다고 이해하면 안 됩니다.

③·④의 함정: 새로 설치해야 하는 패키지를 먼저 library()로 로드하려는 순서가 뒤바뀌었습니다.

🎞️ 패키지 문제의 함정

물건 가져오기 → 꺼내기
1
🛒
필요한 도구“새 패키지를 써야지.”
2
📦
install.packages()“일단 설치해!”
3
📂
library()“사용할 도구를 불러와.”
4
✅
① 선택“순서도, 표기도 맞아.”
📝
암기 문장: 처음에는 install.packages("이름"), 사용할 때는 library(이름). 이미 설치한 패키지는 새 R 세션에서 보통 library()만 다시 하면 됩니다.

학습 결과

정답 0개 / 2문제 · 0문제 응답

오답을 선택하더라도 해설을 읽고 다시 선택할 수 있습니다. '문제 초기화'를 누르면 응답 기록을 초기화합니다.

자료 구성: 제공하신 교재 「PART 03 데이터 분석 / 2장 R 프로그래밍 기초」 pp.198–206 (OCR 텍스트 기반). 문법·단축키 교정 참고: Posit RStudio 공식 단축키 문서 · 코드 실행 가이드 · CRAN. 이미지·도식·4컷은 설명을 위한 학습용 구성입니다.