Notice
Recent Posts
Recent Comments
Link
반응형
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

firstStep

[ADsP - 데이터 분석] RStudio 완전 정복! 벡터·팩터·데이터프레임으로 시작하는 R 프로그래밍 기초 본문

ADsP

[ADsP - 데이터 분석] RStudio 완전 정복! 벡터·팩터·데이터프레임으로 시작하는 R 프로그래밍 기초

자격증원톱 2025. 5. 15. 09:00
반응형

3-1 R 프로그래밍 기초 & 데이터 마트
RStudio 완전 정복! 벡터·팩터·데이터프레임으로 시작하는 R 프로그래밍 기초

R을 처음 배우는 초보자라면 가장 먼저 마주하게 되는 단어가 바로 RStudio자료구조입니다. 처음 접할 땐 낯설고 복잡하게 느껴질 수 있지만, 사실 알고 보면 엑셀처럼 다루기 쉬운 부분도 많아요. 특히 Vector, Factor, DataFrame은 R의 핵심 구조로, 이후 데이터 분석은 물론 머신러닝까지 이어지는 중요한 기반이 됩니다.

이 글에서는 R 프로그래밍의 출발점이라 할 수 있는 RStudio 설치 방법부터, 꼭 알아야 할 세 가지 핵심 자료구조인 Vector, Factor, DataFrame까지 상세히 알려드릴게요. 또한 ADsP 자격증을 준비하는 분들을 위해 관련된 기출 개념과 연관성도 함께 짚어볼 예정이니, 끝까지 읽어보시길 추천드립니다.

1. RStudio 환경 이해하기 🖥️ [모의고사 포함]

처음 R을 설치하고 나면 가장 먼저 마주하게 되는 화면이 바로 RStudio입니다. RStudio는 R 언어를 훨씬 더 쉽게 다룰 수 있도록 도와주는 통합 개발 환경(IDE)이에요. R 자체는 콘솔 기반 언어라 초보자에게 불편할 수 있지만, RStudio는 친절한 GUI 덕분에 코드 작성, 실행, 그래프 확인, 파일 관리까지 한눈에 처리할 수 있죠.

RStudio 주요 패널 구성 알아보기

  • Source(스크립트 창): R 코드를 작성하고 저장할 수 있는 공간
  • Console(콘솔): 직접 명령어를 입력하고 결과를 바로 확인할 수 있는 창
  • Environment/History: 변수 목록, 실행 이력 등을 확인하는 패널
  • Files/Plots/Packages/Help: 그래프 확인, 패키지 관리, 도움말 검색 등을 처리

설치는 어떻게 하나요?

1. R 본체 설치: CRAN 공식 사이트에서 운영체제에 맞는 버전을 다운로드 후 설치
2. RStudio 설치: RStudio 공식 사이트에서 Desktop 버전을 선택 후 설치

 

Posit

The best data science is open source. Posit is committed to creating incredible open-source tools for individuals, teams, and enterprises.

posit.co

 

 

The Comprehensive R Archive Network

 

cran.r-project.org

 

설치 후 실행하면 깔끔한 4분할 화면이 나옵니다. 오른쪽 아래에 있는 "Packages"에서 필요한 패키지를 검색해서 바로 설치할 수도 있어요. 앞으로 다룰 dplyr, tidyr 같은 tidyverse 패키지도 여기서 설치 가능하답니다.

💡 모의고사 문제 (객관식 5문항)

  1. RStudio에서 콘솔(Console) 창의 주요 기능은?
    ⓐ 데이터 시각화 / ⓑ 패키지 설치 / ⓒ 명령어 실행 / ⓓ 코드 저장
    정답: ⓒ – 콘솔 창은 명령어를 직접 입력하고 실행 결과를 확인하는 공간입니다.
  2. RStudio에서 그래프를 확인할 수 있는 창은?
    ⓐ Source / ⓑ Console / ⓒ Environment / ⓓ Plots
    정답: ⓓ – 시각화된 결과는 ‘Plots’ 창에서 확인할 수 있습니다.
  3. RStudio의 Source 창에서 할 수 없는 작업은?
    ⓐ 코드 작성 / ⓑ 코드 실행 / ⓒ 데이터 시각화 / ⓓ 파일 저장
    정답: ⓒ – 시각화 결과는 ‘Plots’ 패널에서 확인해야 합니다.
  4. 패키지를 설치할 수 있는 곳은?
    ⓐ Files / ⓑ Packages / ⓒ Console / ⓓ Help
    정답: ⓑ – ‘Packages’ 탭에서 검색 및 설치가 가능합니다.
  5. RStudio 설치 전에 먼저 설치해야 하는 프로그램은?
    ⓐ Python / ⓑ Java / ⓒ R / ⓓ Excel
    정답: ⓒ – RStudio는 R이 설치되어 있어야 작동합니다.

지금까지 RStudio의 기본 구조와 설치 방법, 주요 패널을 살펴봤습니다. 앞으로 배울 R 문법과 자료구조를 다룰 때 이 환경을 충분히 이해하고 활용하는 것이 매우 중요합니다.

R 프로그래밍 기초, RStudio 설치 방법, ADsP R 언어 같은 키워드를 계속 기억해주세요!

2. Vector란 무엇인가? 🔢 [모의고사 포함]

R에서 데이터를 다룰 때 가장 먼저 마주치는 개념이 바로 Vector(벡터)입니다. 벡터는 숫자, 문자, 논리값 등 동일한 자료형의 데이터를 일렬로 담은 일종의 "데이터 상자"예요. 가장 기본적이면서도, 거의 모든 분석의 시작점이 되는 구조라 꼭 제대로 이해해야 하죠.

벡터를 이해하지 못하면 데이터프레임이나 매트릭스 같은 복잡한 자료구조도 손에 잡히지 않습니다. 특히 ADsP 시험에서도 자주 등장하는 개념이기 때문에 예시와 함께 꼭 정리해볼게요.

📌 Vector의 기본 개념

  • 동일한 타입의 값들로 구성됩니다 (숫자, 문자, 논리값 등).
  • R에서 가장 기본적인 자료 구조입니다.
  • c() 함수를 이용해 생성합니다.

💻 벡터 생성 예제

# 숫자형 벡터
num_vec <- c(1, 2, 3, 4, 5)

# 문자형 벡터
char_vec <- c("apple", "banana", "cherry")

# 논리형 벡터
logi_vec <- c(TRUE, FALSE, TRUE)

여기서 c()는 concatenate의 약자로, 여러 값을 하나로 연결해주는 함수입니다. 모든 벡터는 이 함수를 통해 만들어지죠. 중요한 건 "한 벡터 안에는 같은 자료형만" 들어갈 수 있다는 사실입니다.

💡 모의고사 문제 (객관식 5문항)

  1. R에서 벡터를 생성하는 함수는?
    ⓐ vector() / ⓑ matrix() / ⓒ c() / ⓓ list()
    정답: ⓒ – c()는 concatenate 함수로, 벡터 생성을 위해 사용됩니다.
  2. 다음 중 벡터의 특징으로 올바른 것은?
    ⓐ 서로 다른 타입 허용 / ⓑ 한 가지 타입만 가능 / ⓒ 데이터프레임과 동일 구조 / ⓓ 열과 행 모두 가짐
    정답: ⓑ – 벡터는 동일한 데이터 타입만 허용합니다.
  3. 논리형 벡터의 예는?
    ⓐ c("TRUE", "FALSE") / ⓑ c(TRUE, FALSE) / ⓒ c(1, 0) / ⓓ c("yes", "no")
    정답: ⓑ – 대문자 TRUE와 FALSE는 논리형입니다.
  4. 다음 중 잘못된 벡터 생성 방식은?
    ⓐ c(1, 2, "a") / ⓑ c(1, 2, 3) / ⓒ c(TRUE, FALSE) / ⓓ c("x", "y", "z")
    정답: ⓐ – 숫자와 문자를 섞으면 모두 문자형으로 강제 변환됩니다.
  5. 벡터에 사용되는 기본 연산은?
    ⓐ 반복 / ⓑ 조건 / ⓒ 인덱싱 / ⓓ 모두 해당
    정답: ⓓ – 벡터는 반복, 조건, 인덱싱 연산 모두 지원합니다.

R 벡터 개념, R c() 함수, ADsP R 문법 등의 키워드를 기억해두면 ADsP 준비에 큰 도움이 됩니다!

3. Factor로 범주형 데이터 다루기 🧩 [모의고사 포함]

범주형 데이터를 처리할 때 R에서는 factor(팩터)라는 자료구조를 사용합니다. 팩터는 벡터처럼 생겼지만, 안에 들어있는 값들이 미리 정의된 범주(levels)를 갖는 것이 핵심이에요. 예를 들어 "봄", "여름", "가을", "겨울" 같은 계절 정보를 다룰 때 팩터를 사용하면 데이터의 속성을 명확히 구분할 수 있습니다.

🎯 Factor의 특징

  • 팩터는 벡터의 확장형으로 레벨(level)이라는 범주 정보를 가집니다.
  • 주로 범주형(categorical) 데이터를 처리할 때 사용됩니다.
  • factor() 함수를 사용해 생성합니다.

💻 Factor 생성 예제

# 기본 factor 생성
season <- factor(c("봄", "여름", "가을", "겨울", "여름", "봄"))

# 레벨 순서를 지정한 factor
grade <- factor(c("B", "C", "A", "B", "A"),
                levels = c("A", "B", "C"),
                ordered = TRUE)

팩터의 가장 큰 장점은 레벨 순서 지정이 가능하다는 점이에요. 위 코드에서 grade 벡터는 A > B > C 순으로 정렬된다는 걸 명시했죠. 이처럼 순서가 있는 범주형 데이터를 다룰 때는 ordered = TRUE 옵션을 활용하면 됩니다.

💡 모의고사 문제 (객관식 5문항)

  1. Factor의 가장 핵심적인 구성 요소는?
    ⓐ Index / ⓑ Level / ⓒ Type / ⓓ Range
    정답: ⓑ – 팩터는 level이라는 범주값이 핵심입니다.
  2. 팩터를 생성하는 함수는?
    ⓐ c() / ⓑ matrix() / ⓒ data.frame() / ⓓ factor()
    정답: ⓓ – factor() 함수로 팩터 자료형을 생성합니다.
  3. 팩터에서 levels 옵션의 역할은?
    ⓐ 데이터 삭제 / ⓑ 벡터 병합 / ⓒ 범주 순서 정의 / ⓓ 결측치 처리
    정답: ⓒ – levels를 통해 범주의 순서를 정의합니다.
  4. 순서가 있는 팩터를 만들기 위한 옵션은?
    ⓐ ordered = TRUE / ⓑ factor = TRUE / ⓒ sequence = TRUE / ⓓ rank = TRUE
    정답: ⓐ – ordered = TRUE 옵션을 사용합니다.
  5. 팩터가 유용한 경우는?
    ⓐ 수치형 데이터 처리 / ⓑ 행렬 연산 / ⓒ 범주형 데이터 처리 / ⓓ 그래프 계산
    정답: ⓒ – 팩터는 범주형 데이터를 처리할 때 유용합니다.

R factor 함수, R 범주형 데이터, ADsP 자료구조 키워드는 꼭 기억해두세요!

4. DataFrame의 개념과 활용법 📊 [모의고사 포함]

R 프로그래밍에서 가장 실무적으로 많이 쓰이는 자료 구조가 바로 DataFrame입니다. 사실상 엑셀의 표나 데이터베이스의 테이블을 생각하면 이해하기 쉬운데요. 열(column)마다 데이터 타입이 다를 수 있고, 행(row)은 관측값을 나타내는 형태로 구성돼 있어요.

ADsP 시험에서도 데이터프레임과 리스트의 차이, 인덱싱 방법, 행/열 접근 방식 등이 자주 출제되니 꼭 정리하고 넘어가야 하는 개념입니다.

📌 DataFrame의 구조 이해하기

  • 여러 개의 벡터를 같은 길이로 묶어 테이블 형태로 구성한 구조
  • 열마다 다른 타입의 데이터 가능 (숫자, 문자, 논리형 등 혼합 가능)
  • data.frame() 함수를 사용해 생성

💻 DataFrame 생성 예제

# 데이터프레임 생성
students <- data.frame(
  name = c("홍길동", "이몽룡", "성춘향"),
  score = c(85, 90, 88),
  pass = c(TRUE, TRUE, FALSE)
)

# 열 이름 확인
names(students)

# 특정 열 접근
students$score

# 특정 행 접근
students[2, ]

 

여기서 students$name 처럼 $기호를 통해 특정 열에 접근할 수 있고, [행, 열] 인덱싱을 활용하면 행과 열을 동시에 지정할 수 있습니다. 이는 엑셀의 셀 주소 지정과 매우 비슷하죠.

💡 모의고사 문제 (객관식 5문항)

  1. DataFrame을 생성하는 함수는?
    ⓐ matrix() / ⓑ list() / ⓒ data.frame() / ⓓ c()
    정답: ⓒ – data.frame()은 데이터프레임 생성 함수입니다.
  2. 데이터프레임에서 열(column)에 접근하는 방법은?
    ⓐ df.row / ⓑ df[col] / ⓒ df$col / ⓓ df(col)
    정답: ⓒ – $기호로 열 이름을 지정합니다.
  3. DataFrame의 열끼리 타입이 달라도 되는 이유는?
    ⓐ list 구조 기반 / ⓑ 행렬 구조 기반 / ⓒ 모두 숫자 / ⓓ 요소를 자동 변환
    정답: ⓐ – 데이터프레임은 리스트 기반 구조이기 때문입니다.
  4. df[3, 2]의 의미는?
    ⓐ 3번째 열, 2번째 행 / ⓑ 3번째 행, 2번째 열 / ⓒ 2번째 열 이름 / ⓓ 열과 행을 바꿔 출력
    정답: ⓑ – [행, 열] 순서로 접근합니다.
  5. DataFrame 구조와 가장 유사한 것은?
    ⓐ 배열 / ⓑ 리스트 / ⓒ 표(table) / ⓓ 숫자형 벡터
    정답: ⓒ – 데이터프레임은 표 형태와 매우 유사합니다.

R 데이터프레임, data.frame 함수, ADsP 자료형 키워드를 기억하세요!

5. 자료구조 비교 및 정리표 📚 [모의고사 포함]

지금까지 Vector, Factor, DataFrame 각각을 개별적으로 살펴봤다면, 이번에는 이들 구조를 한눈에 비교해보는 시간을 가져볼게요. 이렇게 비교하면 각각의 쓰임새가 더 명확히 드러나고, ADsP 시험에서도 빠르게 판단할 수 있어요.

🧾 자료구조 핵심 비교 표

구분 Vector Factor DataFrame
사용 목적 동일 타입의 데이터 나열 범주형 데이터 표현 표 형태로 여러 타입의 데이터 저장
데이터 타입 숫자/문자/논리형 중 하나 숫자형 내부 구조 + 범주 정보 열마다 다른 타입 허용
접근 방법 [1], [2] 등 인덱스 levels(), as.character() 등 $연산자, [행, 열] 인덱싱
생성 함수 c() factor() data.frame()
주요 활용 계산, 반복 처리 범주 분류, 시각화 그룹화 데이터셋 구성 및 분석

💡 모의고사 문제 (객관식 5문항)

  1. 벡터와 팩터의 가장 큰 차이는?
    ⓐ 데이터 타입 / ⓑ 길이 / ⓒ 범주 존재 여부 / ⓓ 연산 속도
    정답: ⓒ – 팩터는 범주(levels)를 가진 벡터입니다.
  2. 다양한 타입의 열을 갖는 자료 구조는?
    ⓐ Vector / ⓑ Matrix / ⓒ Factor / ⓓ DataFrame
    정답: ⓓ – 데이터프레임은 열마다 타입이 달라도 됩니다.
  3. factor() 함수의 출력 형태는?
    ⓐ 논리형 / ⓑ 수치형 / ⓒ 벡터 + 레벨 정보 / ⓓ 리스트
    정답: ⓒ – 팩터는 숫자형 벡터 + 범주 정보 구조입니다.
  4. 벡터를 생성하는 가장 적절한 함수는?
    ⓐ matrix() / ⓑ list() / ⓒ c() / ⓓ table()
    정답: ⓒ – c()는 가장 기본적인 벡터 생성 함수입니다.
  5. DataFrame에서 행과 열을 지정하는 방식은?
    ⓐ df[row, col] / ⓑ df(col, row) / ⓒ df[row.col] / ⓓ df(row:col)
    정답: ⓐ – 행, 열 순서로 대괄호 인덱싱합니다.

R 자료구조 비교, 벡터 vs 팩터 vs 데이터프레임, ADsP 데이터 구조 기억해두세요!

6. ADsP 기출과 연결되는 핵심 정리 🎯 [모의고사 포함]

지금까지 배운 Vector, Factor, DataFrame은 단순한 문법을 넘어서 ADsP 시험에서 자주 출제되는 단골 개념입니다. 실제 기출문제나 모의고사를 보면 자료구조 간 차이, 생성 함수, 인덱싱 방식 등이 빠지지 않고 등장하죠.

이 단락에서는 시험과 직결되는 핵심 개념 요약 + 실전 포인트를 정리해드립니다. 특히 ADsP 초보 수험생이라면 이 내용을 머릿속에 딱 정리해두면 이후 문제풀이 속도가 확 올라가요!

🧠 꼭 외워야 할 요점 정리

  • Vector: 동일한 자료형, c() 함수 사용, 인덱싱은 [ ]
  • Factor: 범주형 데이터, factor(), levels(), 순서 있는 팩터는 ordered = TRUE
  • DataFrame: 열마다 다른 타입 가능, data.frame(), $기호 또는 [행, 열] 인덱싱

📝 실전 기출 포인트 요약

  • 자료형 변환: as.character(), as.numeric(), as.factor() 등 변환 함수 숙지
  • 결합 함수: cbind(), rbind() – 행/열 결합 관련 개념 자주 출제
  • 자료구조 간 차이점 설명형 문제 – 기출에서 빈출!

💡 모의고사 문제 (객관식 5문항)

  1. 데이터프레임의 열 타입이 서로 다른 이유는?
    ⓐ c()로 생성 / ⓑ list 기반 구조 / ⓒ 행렬로 처리 / ⓓ 팩터 포함 때문
    정답: ⓑ – 데이터프레임은 리스트 기반이므로 서로 다른 타입 허용됩니다.
  2. 다음 중 factor() 함수 사용 목적은?
    ⓐ 수치형 데이터 생성 / ⓑ 문자열 결합 / ⓒ 범주형 변수 생성 / ⓓ 파일 불러오기
    정답: ⓒ – 범주형 데이터를 다루기 위해 사용됩니다.
  3. 다음 중 벡터에 해당하는 R 객체는?
    ⓐ c(1, 2, 3) / ⓑ matrix(1:4) / ⓒ list(1, "a") / ⓓ data.frame()
    정답: ⓐ – c()는 가장 기본적인 벡터 생성 방식입니다.
  4. 팩터에서 순서를 지정할 수 있는 옵션은?
    ⓐ ordered = TRUE / ⓑ levels = TRUE / ⓒ arrange = TRUE / ⓓ class = factor
    정답: ⓐ – 순서 있는 팩터를 위해 사용하는 옵션입니다.
  5. DataFrame에서 특정 행을 추출하는 방법은?
    ⓐ df$[row] / ⓑ df[row, ] / ⓒ df(row) / ⓓ df[row.col]
    정답: ⓑ – [행, 열] 인덱싱 방식으로 접근합니다.

ADsP 기출 자료구조, R 시험 대비 요약, 벡터 팩터 데이터프레임 핵심은 꼭 복습해보세요!

마무리 요약 및 학습 전략 ✨

지금까지 R 프로그래밍의 기본 자료구조Vector, Factor, DataFrame을 중심으로 학습해보았습니다. 이 세 가지는 R을 사용하는 모든 분석 작업의 기초가 되며, ADsP 자격증 시험에서도 반복적으로 출제되는 주요 주제입니다.

장기적으로는 Tidyverse 패키지와 결합하여 데이터 전처리 → 탐색 → 분석까지 이어지는 실전 작업에 대비해보세요. 단기적으로는 이번 글의 내용을 바탕으로 모의고사 반복 풀이핵심 키워드 요약 정리만 잘해도 충분히 고득점을 노릴 수 있습니다.

다음 포스트에서는 Tidyverse의 핵심 패키지인 dplyr과 tidyr을 통해 실제 데이터를 다루는 방법을 본격적으로 배워보겠습니다. 궁금하시다면 뉴스레터 구독을 눌러주세요 📩

 

반응형