Foro de debate

problemas bucle for

 
Imagen de j. carlos sanz ciudad
problemas bucle for
de j. carlos sanz ciudad - martes, 24 de enero de 2017, 23:12
 
Buenas estoy intentado realizar un codigo para depurar un data.frame y obtener unos valores, pero llevo poco tiempo en R y me esta dando problemas,

la tabla(data.frame) es este: se llama FILTRO_BCSS_EXT1




HACER UN FOR QUE ME RECORRA TODAS LAS FILAS, DENTRO UN IF ANIDADO CON VARIAS CONDICCIONES

-QUE ME COMPARE EL VALOR DE LA COLUMNA WB10CP_FILTRO, CON EL VALOR SIGUIENTE Y SINO DIFIERE DE UN MAS MENOS 10% 
-que la columna 4 q_caldera=0
-qure la colunma 5 rpm_main <700

al final  salgan las medias de los valores que cumplan la condiccion, es decir lo cumplen tres valores seguidos pues la media de esos tres y lo guarda en un vector, se sigue haciendo el if y sigue haciendo medias desechando los valores que no cumplen.

al final se tiene un vector con las medias de los valores consecutivos para cada media que cumplan

ESTE ES MI INTENTO, PERO ME DA ERROR AL ANIDAR LOS IF Y LO HE ECHO POR SEPARADO
Y NO SE COMO SE GUARDAN LOS DATOS DEL BUCLE EN UN VECTOR, ADEMAS DE NO SABER COMO PONER LA PRIMERA CONDICCION DEL IF ((dato fila 1 columna 2)-dato fila 2 colmuna2)/dato fila 1 columna2/10).
presiones=c()
  n=nrow(FILTRO_BCSS_EXT1)
 
  contar=0
  for(i in 1:n) {
    if (FILTRO_BCSS_EXT1[i,4]<1)
     
      if(FILTRO_BCSS_EXT1[i,5]<700)
        if (FILTRO_BCSS_EXT1[i,6]<700)
          if (FILTRO_BCSS_EXT1[i,7]<700)
           
           
           
            {
           
     
      print(FILTRO_BCSS_EXT1[i,2])
      contar=contar+1
      presiones=c(presiones,FILTRO_BCSS_EXT1[i,2])
 
    }
   
  }
  contar
  presiones