[R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR

Carlos J. Gil Bellosta g||be||o@t@ @end|ng |rom gm@||@com
Vie Ene 25 15:53:36 CET 2019


Hola, ¿qué tal?

Si phen_tot es un DF, entonces no existe phen_tot$convergence[i][j]. A lo
más, existe phen_tot$convergence[i], que es el i-ésimo elemento de la
columna "convergence" de phen_tot. A saber cuál es la lógica que quieres
implementar ahí.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El vie., 25 ene. 2019 a las 15:24, Xavier-Andoni Tibau Alberdi (<
xavitibau using gmail.com>) escribió:

> Buenas,
>
> puedes imprimir phen_tot$convergence[i][j], con diversas i i j, para ver
> que te devuelve. también puedes usar type(phen_tot$convergence[i][j]) para
> ver que tipo es. Entonces sabrás que tienes que poner en el oro lado del
> if.
>
> Un saludo!
>
> Xavier Tibau
>
> Missatge de Gemma Ruiz-Olalla <gemma.ruizolalla using gmail.com> del dia dv.,
> 25 de gen. 2019 a les 15:06:
>
>> Hola Carlos,
>>
>> Gracias por la respuesta. phen_tot es un data frame visualizado como
>> tibble, y contiene (entre otras) las columnas "convergence", "r_square" y
>> "maxlog10mfi". Y queremos crear nuevas columnas, como "use",
>> "convergence_cor", etc.
>>
>> phen_tot$convergence debería ser un factor de si el modelo converge o no
>> (levels: 1 y 2), pero tibble lo tiene como "double". Pensamos que de ahí
>> podía venir el error e intentamos cambiarlo a factor con "factor()" y con
>> "as.factor()", pero nada funcionó. Creemos que no funcionó porque todos
>> los
>> valores que tenemos son 1, y no tenemos ningún 2, así que no lo detecta
>> como nivel del factor. ¿Puede ser?
>>
>> Muchas gracias,
>>
>> Gemma
>>
>>
>> El vie., 25 ene. 2019 a las 14:07, Carlos J. Gil Bellosta (<
>> gilbellosta using gmail.com>) escribió:
>>
>> > Hola, qué tal? Habría que ver qué contiene el objeto phen_tot, pero la
>> > expresión
>> > phen_tot$convergence[i][j]
>> > es muy sospechosa. Qué estructura tiene phen_tot$convergence?
>> >
>> > Un saludo,
>> >
>> > Carlos J. Gil Bellosta
>> >
>> >
>> > El vie., 25 ene. 2019 13:32, Gemma Ruiz-Olalla <
>> gemma.ruizolalla using gmail.com>
>> > escribió:
>> >
>> >> Buenas tardes,
>> >>
>> >> Estamos intentando hacer esta función, y sabemos que el bucle funciona
>> (lo
>> >> hemos testeado). Pero nos da este error ya en la primera línea:
>> >>
>> >> "Error in if (phen_tot$convergence[i][j] == '2' ||
>> phen_tot$r_square[i][j]
>> >> <= : valor ausente donde TRUE/FALSE es necesario"
>> >>
>> >> Hemos evitado usar Tidyverse expresamente por la complejidad de la
>> toma de
>> >> decisiones del árbol; por eso queremos mantener los bucles "for".
>> >>
>> >> ¿Alguien nos puede echar una mano para ver qué falla?
>> >>
>> >>
>> >>     for(i in l_plates) {
>> >>       for(j in l_analytes) {
>> >>
>> >>       # arguments
>> >>       if(phen_tot$convergence[i][j] == '2' || phen_tot$r_square[i][j]
>> <=
>> >> 0.9) {
>> >>
>> >>         # first condition
>> >>         phen_tot$convergence_cor <- 'F'
>> >>         phen_tot$use <- 'F'
>> >>         phen_tot$ref_val <- 15000
>> >>
>> >>         # second condition
>> >>         }else {phen_tot$convergence_cor[i][j] <- 'T'
>> >>             if(phen_tot$max_log10mfi[i][j] < log10(15000)){
>> >>             phen_tot$use[i][j] <- 'F'
>> >>             phen_tot$ref_val[i][j] <- 15000
>> >>
>> >>             # third condition
>> >>             }else {phen_tot$use[i][j] <- 'T'
>> >>             phen_tot$ref_val[i][j] <- phen_tot$pred_log10mfi[i][j]
>> >>             }
>> >>         }
>> >>      }
>> >>   }
>> >>
>> >>
>> >> Muchas gracias,
>> >>
>> >> --
>> >> Gemma
>> >>
>> >>         [[alternative HTML version deleted]]
>> >>
>> >> _______________________________________________
>> >> R-help-es mailing list
>> >> R-help-es using r-project.org
>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
>> >>
>> >
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>

-- 
Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es