직장인 대학원/R

[R] R 데이터 시험 예상 문제

Binsoo 2025. 4. 22. 11:02
728x90
반응형

 

 

📘 문제 1. 다음 중 append() 함수에 대한 설명으로 옳은 것은 무엇인가요?

A. 새로운 행렬을 생성한다
B. 리스트에 이름을 붙인다
C. 벡터에 새로운 값을 삽입한다
D. 행렬을 전치(transpose)한다

 

더보기

C. 벡터에 새로운 값을 삽입한다

 

x <- c(1, 2, 3)
append(x, 99, after = 2)  # [1] 1 2 99 3

 

📘 문제 2. 아래 코드의 실행 결과로 올바른 것은 무엇인가요?

fruit <- c(5, 3, 2)
names(fruit) <- c("apple", "orange", "peach")
fruit["orange"]

 

A. "orange"
B. 3
C. "3"
D. 오류 발생

 

더보기

B. 3

 

출력 결과

orange 
     3 

 

📘 문제 3. 다음 중 matrix(1:6, nrow = 2, byrow = TRUE)의 결과로 올바른 것은?

A.

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

B.

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6

C.

     [,1] [,2] [,3]
[1,]    1    4
[2,]    2    5
[3,]    3    6

D. 오류 발생

 

더보기

B.

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
 
matrix(1:6, nrow = 2, byrow = TRUE)
 
  • 1:6 → 숫자 1부터 6까지
  • nrow = 2 → 2행짜리 행렬
  • byrow = TRUE → 행 기준으로 값을 채움!

 

📘 문제 4. 다음 중 dplyr 패키지의 함수로 올바르지 않은 것은?

A. filter()
B. select()
C. mutate()
D. subset_by()

 

더보기

D. subset_by()

 

dplyr 패키지의 주요 함수

 

filter() 조건에 따라 행을 필터링
select() 원하는 열을 선택
mutate() 새로운 열을 추가하거나 가공
arrange() 행 정렬
group_by() + summarise() 그룹별 집계

 

📘 문제 5. 다음 중 R의 기본 데이터 타입이 아닌 것은?

A. numeric
B. logical
C. complex
D. text

 

더보기

D

 

R의 기본 데이터 타입 (객체 유형)

 

numeric 실수형 3.14, 10
integer 정수형 (L 사용) 5L, 100L
logical 논리형 TRUE, FALSE
character 문자형 "hello"
complex 복소수형 1 + 2i

 

📘 문제 6. 다음 중 list()에 대한 설명으로 틀린 것은?

A. 서로 다른 타입의 데이터를 담을 수 있다
B. 리스트 안에는 벡터, 행렬, 또 다른 리스트도 담을 수 있다
C. 리스트는 [[ ]]를 사용하여 내부 요소에 접근한다
D. 리스트는 반드시 같은 타입의 데이터를 가져야 한다

 

더보기

D. 리스트는 반드시 같은 타입의 데이터를 가져야 한다


리스트는 서로 다른 타입을 자유롭게 담을 수 있는 유일한 R 객체입니다.

 

📘 문제 7. 다음 중 **파이프 연산자 %>%**의 설명으로 옳지 않은 것은?

A. 앞의 결과를 다음 함수의 첫 번째 인자로 넘긴다
B. 복잡한 중첩 함수를 가독성 좋게 풀어 쓸 수 있다
C. dplyr 패키지 없이도 기본적으로 사용 가능하다
D. 여러 줄에 걸쳐 함수들을 체인처럼 연결할 수 있다

 

더보기

C. dplyr 패키지 없이도 기본적으로 사용 가능하다

 

📘 문제 8. 다음 중 data.frame() 함수에 대한 설명으로 틀린 것은?

A. 서로 다른 타입의 벡터들을 묶어 하나의 표 형태로 만든다
B. 열마다 길이가 달라도 자동으로 채워진다
C. 열의 이름은 지정할 수 있다
D. 문자열 벡터는 기본적으로 factor로 변환된다 (기본 옵션 기준)

 

더보기

B. 열마다 길이가 달라도 자동으로 채워진다

 

✅ 해설:

  • data.frame()에서는 모든 열(컬럼)의 길이가 같아야 해요.
  • 열의 길이가 다르면 에러가 발생합니다.
  • 자동으로 NA로 채워주는 기능은 없어요 (그건 tibble()이나 다른 방식으로 해야 함)

나머지는 다 맞는 설명이에요

  • A ✅ 서로 다른 타입 가능 (숫자, 문자, 논리 등)
  • C ✅ data.frame(x = 1:3, y = c("a", "b", "c")) 식으로 열 이름 지정 가능
  • D ✅ 문자열 벡터는 기본적으로 factor로 변환됨 (stringsAsFactors = TRUE가 기본값이었음, R 4.0.0부터는 FALSE가 기본)

 

📘 문제 9. 다음 중 factor() 함수에 대한 설명으로 옳지 않은 것은?

A. 문자형 데이터를 범주형으로 변환할 수 있다
B. factor는 내부적으로 정수로 저장되며 levels로 라벨링된다
C. factor는 정렬이 불가능하다
D. levels 순서를 직접 지정할 수 있다

 

더보기

C

 

factor는 정렬이 가능하다.

👉 ordered = TRUE 옵션을 주거나, 순서대로 level 지정하면 정렬 가능해요.

 

📘 문제 10. (다음 중 순서가 있는 factor(ordered factor)를 생성하는 코드로 올바른 것은?

A.

factor(c("low", "medium", "high"))

 

B.

factor(c("low", "medium", "high"), ordered = TRUE)
 
C.
factor(c("low", "medium", "high"), levels = c("high", "medium", "low"))
D.
factor(c("low", "medium", "high"), levels = c("low", "medium", "high"), ordered = TRUE)

 

더보기

D

 

순서가 있는 factor(ordered factor) 를 만들려면

  1. levels를 지정
  2. ordered = TRUE 설정

 

 

728x90
반응형