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

Gemma Ruiz-Olalla gemm@@ru|zo|@||@ @end|ng |rom gm@||@com
Vie Ene 25 17:52:11 CET 2019


Hola Carlos y Xavier,

Muchas gracias, realmente los índices estaban mal y no tenía sentido porque
efectivamente no existía phen_tot$convergence[i][j].

Estamos arreglándolo ahora y pinta bien, gracias!

Saludos,

Gemma


El vie., 25 ene. 2019 a las 15:53, Carlos J. Gil Bellosta (<
gilbellosta using gmail.com>) escribió:

> 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