2016-10-05 2 views
-1

루프를 실행하려고합니다. 일부 값은 NA를 반환합니다. 결과 값이 NA이고 모든 값이 아닌 값에 대해서만 for 루프를 다시 실행하고 싶습니다. 지금 당장 사용하고있는 것입니다.이 모든 것이 for 루프를 실행합니다.루프를 다시 실행하십시오.

while(df[2] == NA){ 

for(i in 1:nrow(df)){ 

#do something 

}} 

DF DF는 의 첫번째 열이 어떤 값과 두 번째 열에 해당 저장 값의 결과가 상기 데이터 프레임이다.

+1

'NA'이고''NA "'문자열이 아닌 경우'is.na()'함수를 사용하십시오. 또한, 코드의 "#do something"비트를 더 설명하면 어쩌면'forloop'과'while'도 필요 없을 것입니다. – zx8754

답변

2
while(sum(is.na(df[2])>0){ 

for(i in which(is.na(df[2])){ 

#do something 

}} 
관련 문제