Sign In

[R] 반복문

Y
Yerim
  1. R

for문

벡터의 길이만큼 for문이 반복
for문이 한 번씩 수행될 때마다 반복 범위의 값을 하나씩 가져와 반복 변수에 저장한 뒤 코드 블록 안에 있는 명령문을 실행
for(반복 변수 in 반복 범위){
    반복할 명령문(들)
}
어떤 변수를 계산에 사용하려면 그 변수를 먼저 어떤 값으로든 초기화한 후에 사용해야 한다.
nrows <- nrow(iris) # iris 행의 수
mylabel <- c()      # 비어있는 벡터 선언
for( i in 1:nrow){
    if (iris$Petal.Length[i] <= 1.6){
        mylabel[i] <- 'L'
    } else if (ris$Petal.Length[i] >= 5.1){
        mylabel[i] <- 'H'
    } else{
        mylabel[i] <- 'M'
    }
}
print(mylabel)
newds <- data.frame(iris$Petal.Length, mylabel)
head(newds)

while문

for문에 비해 사용 빈도가 적기 때문에 문법을 이해하는 수준에서 간단히 학습
비교 조건을 만족하는 동안 {} 안의 명령문들을 반복 실행
while(비교 조건){
    반복할 명령문(들)
}
영원히 실행되는 반복문을 무한루프(loop)라고 한다.
무한루프에 빠지면 컴퓨터의 작동이 멈출 수 있다.

break와 next

break
반복문을 중단시키는 역할을 한다.
sum <- 0
for(i in 1:10){
    sum <- sum + i
    if(i >= 5) break
}
sum
next
next 다음에 오는 코드를 실행시키지 않고 다음 루프를 돈다.
sum <- 0
for(i in 1:10){
    sum <- sum + i
    if(i >= 5) continue
}
sum

apply() 계열 함수

apply()함수를 이용하면 처리 속도를 향상시킬 수 있다.
apply()함수는 매트릭스나데이터프레임에 있는 행들이나 열들을 하나하나 차례로 꺼내어 평균이나 합계 등을 구하는 작업을 수행하고자 할 때 유용합니다.
apply(데이터셋, 행/열 방향 지정, 적용 함수)
데이터셋: 반복 작업을 적용할 대상인 매트릭스나 데이터프레임 이름 입력
행/열 방향 지정: 행 방향 작업의 경우 1, 열 방향 작업의 경우 2를 지정
적용 함수: 반복 작업의 내용을 알려주는 것으로, R함수이거나 다음 절에서 배울 사용자 정의 함수를 지정
apply(iris[, 1:4, 1, mean]
Yerim-DevNote
Subscribe to 'Yerim-DevNote'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'Yerim-DevNote'!
Subscribe
👍