코딩초보 김씨
[R] 조건문, 반복문, 함수 - 복습 문제 & 정답 본문
[문제 1] 다음의 각 문제를 해결하기 위한 R 코드를 작성하시오.
(1) 1~100 사이의 정수 중 3의 배수들의 합과 개수를 구하시오.
(2) 101~200 사이의 숫자 중 3과 4의 공배수를 출력하시오.
(3) 24의 약수를 출력하시오.
(4) 10!을 출력하시오.(단, factorial() 함수를 이용하지 않는다.)
[답변 1]
(1) 1~100 사이의 정수 중 3의 배수들의 합과 개수를 구하시오.
sum <- 0
for (i in 1:100){
if (i%%3==0)
sum <- sum+i
}
sum
[출력 결과]
(2) 101~200 사이의 숫자 중 3과 4의 공배수를 출력하시오.
for (i in 101:200){
if (i%%3==0&i%%4==0)
print(i)
}
[출력 결과]
(3) 24의 약수를 출력하시오.
for (i in 1:24){
if (24%%i==0)
print(i)
}
[출력 결과]
(4) 10!을 출력하시오.(단, factorial() 함수를 이용하지 않는다.)
times <- 1
for (i in 1:10){
times = times*i
}
print (times)
[출력 결과]
[문제 2] 1~100의 정수를 차례로 출력하되 3의 배수에서는 숫자 대신 ‘*’을 출 력하는 R 코드를 작성하시오(출력은 가로방향으로 한다).
[답변 2]
cat(i, append='True')만 해도 나오는데, 보기 편하기 위해 ' ' 공백 삽입하였다.
for (i in 1:100){
if (i%%3!=0){
cat(i,' ',append='True')
} else {
cat('*',' ',append='True')
}
}
[출력 결과]
1) 공백 삽입 2) 공백 미삽입
[문제 3] 10명의 몸무게를 저장한 벡터가 다음과 같을 때 질문을 해결하기 위 한 R 코드를 작성하시오.
(1) 몸무게가 가장 큰 값은 몇 번째에 있나?
(2) 몸무게가 가장 작은 값은 몇 번째에 있나?
(3) 몸무게가 61에서 69 사이인 값들은 몇 번째에 있나?
(4) 몸무게가 60 이하인 값들만 추출하여 weight.2에 저장하고 내용을 보이시오.
[답변 3]
weight <- c(69,50,55,71,89,64,59,70,71,80)
(1) 몸무게가 가장 큰 값은 몇 번째에 있나?
which.max(weight)
(2) 몸무게가 가장 작은 값은 몇 번째에 있나?
which.min(weight)
(3) 몸무게가 61에서 69 사이인 값들은 몇 번째에 있나?
which(weight>=61 & weight<=69)
(4) 몸무게가 60 이하인 값들만 추출하여 weight.2에 저장하고 내용을 보이시오.
which(weight<60)
weight.2 <- weight[c(2,3,7)]
weight.2
[출력 결과]
'R' 카테고리의 다른 글
[R] 단일변수 자료의 분석 - 복습 문제 & 정답 (0) | 2021.06.21 |
---|---|
[R] 다중 변수 자료의 분석 (0) | 2021.06.21 |
[R] 행렬과 데이터프레임 - 복습 문제 & 정답 (0) | 2021.06.19 |
[R] 단일변수 자료의 분석,탐색 방법 (0) | 2021.06.18 |
[R] 조건에 맞는 데이터의 위치 찾기 (0) | 2021.06.18 |