-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
if 문 결과가 다름
20.01.28 17:38 작성 조회수 91
0
m <- matrix(1:15, ncol = 3, byrow = T)
m2 <- data.frame(m)
m2
m3 <- NULL
for (i in 1:10) {
if(i %% 2 == 0){
next;
}
m3 <- rbind(m3, m2)
cat('\n', i)
}
for (i in 1:10) {
if(i %% 2 == 0){
}else{}
m3 <- rbind(m3, m2)
cat('\n', i)
}
순차적으로 따라서 실행했으나 강의에서는
최종 dim(m3)가 25행으로 나오고
실행결과 75행이 됩니다.
답변을 작성해보세요.
0
코코
지식공유자2020.01.29
안녕하세요 jJ님
올려주신 코드를 전부 실행했을때에는 75행이 나오는게 맞습니다
m <- matrix(1:15, ncol = 3, byrow = T)
m2 <- data.frame(m)
m2
m3 <- NULL
for (i in 1:10) {
if(i %% 2 == 0){
next;
}
m3 <- rbind(m3, m2)
cat('\n', i)
}
##########
여기까지 실행했을때가 m3의 행의 수는 25행입니다.
5행인 m을 10번 rbind하는데 i가 짝수일때를 제외하고 했으니 5번 rbind하기 때문에 5행 * 5번 = 25행이 됩니다.
그리고 이상태에서 아래코드를 실행했을 경우
for (i in 1:10) { ###### 현재 m3는 25행 이고 m2는 5행입니다.
if(i %% 2 == 0){
}else{
}
m3 <- rbind(m3, m2) ##
cat('\n', i)
}
########
## 25행인 m3에 대하여 m2를 또 10번 rbind하기 때문에
##최종적으로 m3는 25 + 5행 * 10번 = 75행이 맞습니다.
답변 1