[R-es] Grupo de Usuarios de R de Madrid - Reunión 2019_01_24...
Buenas a todos, Ayer celebramos la primera reunión del año del Grupo de Usuarios de R de Madrid. Los videos de las presentaciones están disponibles en el portal aquí: http://madrid.r-es.org/57-jueves-24-de-enero-2019/ Gracias! Carlos. [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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 (< gilbello...@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 (< > xaviti...@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 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 (< >>> gilbello...@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.ruizola...@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@r-project.org >>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >>> > >>> >>> [[alternative HTML version deleted]] >>> >>> ___ >>> R-help-es mailing list >>> R-help-es@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]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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 (< xaviti...@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 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 (< >> gilbello...@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.ruizola...@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@r-project.org >> >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> > >> >> [[alternative HTML version deleted]] >> >> ___ >> R-help-es mailing list >> R-help-es@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]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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 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 (< > gilbello...@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.ruizola...@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@r-project.org > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> > > > > [[alternative HTML version deleted]] > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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 (< gilbello...@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 > 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@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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 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@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Error "valor ausente TRUE/FALSE..." en doble loop FOR
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@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es