코딩초보 김씨
[R] 변수와 벡터 - 복습 문제 & 정답 본문
[문제 1] 다음의 R 코드의 문제점을 지적하고 어떻게 해결해야 하는지 설명하시오.
val.a <- 10
sum.ab <- val.a + val.b
[답변 1]

val.b가 정해지지 않았으므로, val.b를 정의한다
[문제 2] 2, 95, 86, 47, 55, 68로 구성된 벡터 vc.1을 생성하고 vc.1의 내용을 출력하는 코드를 작성하고 이를 실제 R에서 실행시킨 결과를 제시하시오.
[답변 2]
# 벡터 정의
vc.1 <- c(2,95,86,47,55,68)
# 출력
vc.1

[문제 3] 100~200 사이의 짝수로 구성된 벡터 vc.2를 생성하고 vc.2의 내용을 출력하는 코드를 작성하고 이를 실제 R에서 실행시킨 결과를 제시하시 오.
[답변 3]
vc.2 <- seq(100,200,2)
vc.2

[문제 4] 벡터 d1, d2가 다음과 같을 때 각 문제를 수행하기 위한 코드를 작성 하고 답을 구하시오.
(1) d1, d2의 값을 출력하시오.
(2) d2의 길이(원소의 개수)를 보이시오.
(3) d1+d2, d2-d1, d1*d2, d2/d1의 각각의 결과를 출력하시오.
(4) d1, d2의 값들의 합을 각각 출력하시오.
(5) d1, d2에 있는 모든 값들의 합을 출력하시오.
(6) d2에서 가장 큰 값과 가장 작은 값을 출력하시오.
(7) d2와 d1의 값들의 평균값을 각각 구하고 두 평균의 차이를 출력하시오.
(8) d1의 값들을 큰 수에서 작은 수 순서로 정렬하여 출력하시오.
(9) d1과 d2에서 작은 수에서 큰 수 순서로 각각 10개씩을 추출하여 d3에 저장하시오(결과적으로 d3에는 20개의 수가 저장)
[답변 4]
d1 <- 1:50
d2 <- 51:100
(1) d1, d2 값 출력
d1
d2

(2) d2의 길이
length(d2)

(3) d1+d2, d2-d1, d1*d2, d2/d1
d1+d2
d2-d1
d1*d2
d2/d1

(4) d1, d2의 값들의 합
sum(d1)
sum(d2)

(5) d1, d2에 있는 모든 값들의 합
sum(d1+d2)

선생님 답 : sum(d1)+sum(d2)
내가 틀린건 아니지만 이러한 방법도 있다!
(6) d2에서 가장 큰 값과 가장 작은 값
max(d2)
min(d2)

(7) 각각의 평균값과 두 평균의 차이
mean(d2)
mean(d1)
mean(d2)-mean(d1)

틀린 부분 : abs로 절대값을 씌워주는 것이 좋음
(8) 큰 수에서 작은 수 순서로 정렬
sort(d1, decreasing = TRUE)

(9) d1과 d2에서 작은 수에서 큰 수 순서로 각각 10개씩 추출하여 d3에 저장
d1[0:10]
d2[0:10]
d3 <- d1[0:10]
d3 <- append(d3, d2[0:10], after=10)
d3

선생님 답 : 내 코드보다 더 효율적이다
# 방법 1
d3 <- c(d1[1:10], d2[1:10])
# 방법 2
d3 <- c(sort(d1)[1:10], sort(d2)[1:10]
'R' 카테고리의 다른 글
| [R] 단일변수 자료의 분석,탐색 방법 (0) | 2021.06.18 |
|---|---|
| [R] 조건에 맞는 데이터의 위치 찾기 (0) | 2021.06.18 |
| [R] 조건문, 반복문, 함수 (1) | 2021.06.18 |
| [R] 5가지 데이터 유형 (0) | 2021.06.17 |
| [R] 설치 및 시작 + 저장 위치(디렉토리) 설정 (0) | 2021.06.17 |