2026 ADP 필기 4과목 1장 1~2절 | R 기초·자료 구조·데이터마트 — 핵심 이론

데이터위자드 ·

2026 ADP 필기 4과목 1장 1~2절 | R 기초·자료 구조·데이터마트 — 핵심 이론

필기 · 핵심 이론

R 코드는 자료 구조와 인덱싱 규칙을 구분하면 읽기 쉬워집니다. 벡터·행렬·리스트·데이터프레임이 저장하는 값의 형태를 확인하고, 결측을 검사한 뒤 분석 목적에 맞는 데이터마트를 만듭니다.

이번 절에서 익힐 내용

벡터와 자료형 · 인덱스와 논리 선택 · NA 검사와 집계 · 데이터프레임과 팩터 · 데이터마트의 행 단위

1. 벡터와 자료형

R의 기본 원자 벡터는 같은 자료형의 원소를 담습니다. 숫자와 문자를 c()로 묶으면 공통 자료형으로 강제 변환될 수 있습니다. 리스트는 서로 다른 구조를 원소로 가질 수 있다는 점에서 다릅니다.

자료가 화면에 숫자로 보이더라도 문자형이면 숫자 연산이 되지 않을 수 있습니다. str()와 class()로 구조와 자료형을 먼저 확인하는 습관이 좋습니다.

핵심 기준

R의 원자 벡터는 공통 자료형으로 변환될 수 있다.

예제로 적용하기

R에서 c(1,"2")의 공통 자료형은?

풀이와 판단 과정

결론: 문자형

문자 원소와 숫자를 원자 벡터로 결합하면 숫자도 문자로 강제 변환됩니다.

2. 인덱스와 논리 선택

R의 인덱스는 보통 1부터 시작합니다. x[1]은 첫 원소, x[-1]은 첫 원소를 제외한 벡터입니다. 논리 벡터로 조건을 적용할 수도 있습니다. 데이터프레임 d[행,열]에서는 쉼표 앞뒤 역할을 구분합니다.

양수와 음수 인덱스를 섞는 제한, 차원 축소의 동작 등도 주의합니다. Python의 0기반 인덱스와 섞지 마세요. 조건 벡터 길이와 NA가 포함된 경우를 확인해야 예상한 행만 선택할 수 있습니다.

핵심 기준

R에서 x[1]은 첫 원소다.

예제로 적용하기

x<-c(10,20,30)에서 x[-1]의 값은?

풀이와 판단 과정

결론: 20,30

음수 인덱스는 해당 위치를 제외하므로 첫 값 10이 빠집니다.

3. NA 검사와 집계

R에서 is.na(x)로 결측 여부를 검사합니다. x==NA는 일반적인 결측 검사 방법이 아닙니다. mean(x)는 NA가 포함되면 NA를 반환할 수 있고 na.rm=TRUE로 결측을 제외할 수 있습니다.

결측을 제외하는 것은 값을 0으로 바꾸는 것과 다릅니다. 제외 후 표본 크기가 어떻게 달라지는지 보고, 결측 발생이 특정 집단에 치우치지 않았는지도 살펴야 합니다.

핵심 기준

R에서 결측 검사는 is.na를 사용한다.

예제로 적용하기

mean(c(10,NA,20),na.rm=TRUE)의 결과는?

풀이와 판단 과정

결론: 15

NA를 제외한 두 값의 평균(10+20)/2=15입니다.

4. 데이터프레임과 팩터

데이터프레임은 같은 행 수를 가진 열들로 구성되며 열마다 다른 자료형을 가질 수 있습니다. 팩터는 범주와 수준을 관리합니다. factor의 내부 정수 코드를 원래 숫자 값으로 오해하지 않도록 주의합니다.

집계와 모델에서 기준 수준이 계수 해석에 영향을 줄 수 있습니다. 범주에 순서가 있다는 정보는 ordered factor 등으로 명시하고 단순 코드 번호와 양적 크기를 구분하세요.

핵심 기준

데이터프레임은 열마다 다른 자료형을 가질 수 있다.

예제로 적용하기

나이 숫자열과 지역 문자열을 한 표로 관리할 R 구조는?

풀이와 판단 과정

결론: 데이터프레임

행을 공유하면서 열별로 다른 자료형을 담는 데이터프레임이 적합합니다.

5. 데이터마트의 행 단위

분석용 표는 한 행의 단위와 기준 시점이 명확해야 합니다. 고객별 월 매출이면 고객×월이 유일한 행 단위입니다. 주문 상세를 조인한 뒤 고객 정보를 반복 집계하면 매출·건수가 부풀 수 있습니다.

파생 변수는 재현 가능한 규칙과 관찰 기간을 남깁니다. 최근 30일 구매 횟수를 만들 때 예측일 이후 거래가 포함되지 않는지 확인하고, 고객별 집계 뒤 조인하는 방식으로 중복 위험을 줄일 수 있습니다.

핵심 기준

데이터마트를 만들 때 한 행의 단위와 기준 시점을 정한다.

예제로 적용하기

고객별 최근 30일 구매횟수를 예측 입력으로 만든다. 필요한 기준은?

풀이와 판단 과정

결론: 고객별 유일한 행과 예측일 이전 30일 범위

분석 단위와 시점을 맞추어 중복과 미래 정보 누수를 방지해야 합니다.

한눈에 비교하기

R 표현뜻확인
x[1]첫 원소1기반
x[-1]첫 원소 제외부호 변경 아님
is.na(x)결측 검사==NA와 구별
mean(x,na.rm=TRUE)결측 제외 평균0대체와 구별
d[행,열]표 선택행·열 위치

순서대로 풀어 보는 예제

고객 자료가 id=1,2,3과 amount=10,NA,20으로 구성되어 있다면 mean(amount,na.rm=TRUE)=15입니다. 결측을 0으로 바꾼 평균은 10이므로 의미가 다릅니다. 먼저 결측이 실제 미구매인지 수집 실패인지 확인해야 합니다.

고객별 합계 표를 만들 때는 각 id가 한 번씩 나오는지 중복 검사를 수행합니다. 여러 원본을 합친 뒤 행 수만 확인하지 말고 고유 고객 수와 금액 총계도 함께 검산하세요.

d <- data.frame(id=c(1,2,3), amount=c(10,NA,20))
is.na(d$amount)
mean(d$amount, na.rm=TRUE)  # 15
d[!is.na(d$amount), ]

헷갈리는 문장 바로잡기

벡터와 자료형

잘못된 판단 원자 벡터의 각 원소는 언제나 제각각 자료형을 유지한다.

올바른 판단: R의 원자 벡터는 공통 자료형으로 변환될 수 있다.

인덱스와 논리 선택

잘못된 판단 R의 첫 인덱스는 언제나 0이다.

올바른 판단: R에서 x[1]은 첫 원소다.

NA 검사와 집계

잘못된 판단 x==NA는 모든 결측을 TRUE로 정확히 찾는다.

올바른 판단: R에서 결측 검사는 is.na를 사용한다.

데이터프레임과 팩터

잘못된 판단 데이터프레임의 모든 열은 반드시 같은 자료형이다.

올바른 판단: 데이터프레임은 열마다 다른 자료형을 가질 수 있다.

데이터마트의 행 단위

잘못된 판단 행 단위는 결과 해석과 무관하다.

올바른 판단: 데이터마트를 만들 때 한 행의 단위와 기준 시점을 정한다.

이론을 정리했다면 같은 절의 객관식 문제에서 조건과 예외를 확인하세요. 정답을 고른 뒤에는 틀린 선택지가 왜 성립하지 않는지도 설명해 보세요.

표를 보며 따라가는 계산 예제

idregionvisitsamount
1서울3100
2부산280
3서울4
4대전140
5부산3120
6서울260

지역 행 수

지역별 고객 수를 구하세요.

계산 결과

서울 5·부산 4·대전 3

id1·3·6·9·11이 서울,2·5·8·12가 부산입니다.

금액 관측 수

지역별 amount가 존재하는 수를 구하세요.

계산 결과

서울 4·부산 4·대전 3

서울 id3의 결측은 count에서 제외합니다.

지역 합계

NULL을 제외한 지역 합계를 구하세요.

계산 결과

서울 300·부산 450·대전 310

전체 합계 1160과 지역 합계의 합이 같아야 합니다.

지역 평균

NULL 제외 지역 평균을 구하세요.

계산 결과

서울 75·부산 112.5·대전약 103.3333

서울은 300/4이며 전체 고객 수 5로 나누지 않습니다.

핵심 개념 확인 — 객관식 5문제

설명을 읽은 뒤 아래 다섯 문항을 풀어 보세요. 정답을 고르고 틀린 선택지의 오류도 설명할 수 있으면 이 단원의 기준을 이해한 것입니다.

문제 1

R 기초·자료 구조·데이터마트에서 벡터와 자료형에 대한 설명으로 옳은 것은?

  1. ① 리스트는 숫자만 담는다.
  2. ② 자료형은 계산과 무관하다.
  3. ③ R의 원자 벡터는 공통 자료형으로 변환될 수 있다.
  4. ④ 원자 벡터의 각 원소는 언제나 제각각 자료형을 유지한다.
정답과 해설 보기

정답 ③

R의 기본 원자 벡터는 같은 자료형의 원소를 담습니다. 숫자와 문자를 c()로 묶으면 공통 자료형으로 강제 변환될 수 있습니다. 리스트는 서로 다른 구조를 원소로 가질 수 있다는 점에서 다릅니다. 자료가 화면에 숫자로 보이더라도 문자형이면 숫자 연산이 되지 않을 수 있습니다. str()와 class()로 구조와 자료형을 먼저 확인하는 습관이 좋습니다.

기억할 핵심

R의 원자 벡터는 공통 자료형으로 변환될 수 있다.

문제 2

R 기초·자료 구조·데이터마트에서 인덱스와 논리 선택에 대한 설명으로 옳은 것은?

  1. ① d[행,열]의 첫 자리는 열이다.
  2. ② 음수 인덱스는 해당 원소의 부호를 바꾼다.
  3. ③ R의 첫 인덱스는 언제나 0이다.
  4. ④ R에서 x[1]은 첫 원소다.
정답과 해설 보기

정답 ④

R의 인덱스는 보통 1부터 시작합니다. x[1]은 첫 원소, x[-1]은 첫 원소를 제외한 벡터입니다. 논리 벡터로 조건을 적용할 수도 있습니다. 데이터프레임 d[행,열]에서는 쉼표 앞뒤 역할을 구분합니다. 양수와 음수 인덱스를 섞는 제한, 차원 축소의 동작 등도 주의합니다. Python의 0기반 인덱스와 섞지 마세요. 조건 벡터 길이와 NA가 포함된 경우를 확인해야 예상한 행만 선택할 수 있습니다.

기억할 핵심

R에서 x[1]은 첫 원소다.

문제 3

R 기초·자료 구조·데이터마트에서 NA 검사와 집계에 대한 설명으로 옳은 것은?

  1. ① R에서 결측 검사는 is.na를 사용한다.
  2. ② na.rm=TRUE는 결측을 모두 0으로 넣는다.
  3. ③ 결측 제외는 어떤 편향도 만들 수 없다.
  4. ④ x==NA는 모든 결측을 TRUE로 정확히 찾는다.
정답과 해설 보기

정답 ①

R에서 is.na(x)로 결측 여부를 검사합니다. x==NA는 일반적인 결측 검사 방법이 아닙니다. mean(x)는 NA가 포함되면 NA를 반환할 수 있고 na.rm=TRUE로 결측을 제외할 수 있습니다. 결측을 제외하는 것은 값을 0으로 바꾸는 것과 다릅니다. 제외 후 표본 크기가 어떻게 달라지는지 보고, 결측 발생이 특정 집단에 치우치지 않았는지도 살펴야 합니다.

기억할 핵심

R에서 결측 검사는 is.na를 사용한다.

문제 4

R 기초·자료 구조·데이터마트에서 데이터프레임과 팩터에 대한 설명으로 옳은 것은?

  1. ① 팩터 내부 코드는 원래 측정값과 언제나 같다.
  2. ② 범주의 기준 수준은 모델 해석에 영향이 없다.
  3. ③ 데이터프레임은 열마다 다른 자료형을 가질 수 있다.
  4. ④ 데이터프레임의 모든 열은 반드시 같은 자료형이다.
정답과 해설 보기

정답 ③

데이터프레임은 같은 행 수를 가진 열들로 구성되며 열마다 다른 자료형을 가질 수 있습니다. 팩터는 범주와 수준을 관리합니다. factor의 내부 정수 코드를 원래 숫자 값으로 오해하지 않도록 주의합니다. 집계와 모델에서 기준 수준이 계수 해석에 영향을 줄 수 있습니다. 범주에 순서가 있다는 정보는 ordered factor 등으로 명시하고 단순 코드 번호와 양적 크기를 구분하세요.

기억할 핵심

데이터프레임은 열마다 다른 자료형을 가질 수 있다.

문제 5

R 기초·자료 구조·데이터마트에서 데이터마트의 행 단위에 대한 설명으로 옳은 것은?

  1. ① 행 단위는 결과 해석과 무관하다.
  2. ② 미래 정보는 과거 예측 변수에 무조건 포함한다.
  3. ③ 상세를 조인하면 모든 합계가 자동으로 보존된다.
  4. ④ 데이터마트를 만들 때 한 행의 단위와 기준 시점을 정한다.
정답과 해설 보기

정답 ④

분석용 표는 한 행의 단위와 기준 시점이 명확해야 합니다. 고객별 월 매출이면 고객×월이 유일한 행 단위입니다. 주문 상세를 조인한 뒤 고객 정보를 반복 집계하면 매출·건수가 부풀 수 있습니다. 파생 변수는 재현 가능한 규칙과 관찰 기간을 남깁니다. 최근 30일 구매 횟수를 만들 때 예측일 이후 거래가 포함되지 않는지 확인하고, 고객별 집계 뒤 조인하는 방식으로 중복 위험을 줄일 수 있습니다.

기억할 핵심

데이터마트를 만들 때 한 행의 단위와 기준 시점을 정한다.

범위 확인

2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.

이 단원의 객관식 문제 풀기

이전 · 분석 마스터플랜·거버넌스

다음 · 결측값·이상값·스케일링·데이터 누수

ADP 전체 목차

과목별 이론

단원별 객관식

실습

필기 모의고사

서술형

실기 모의고사

스터디클럽의 다른 강의 보기