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

2019-01-25 Thread Gemma Ruiz-Olalla
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

2019-01-25 Thread Gemma Ruiz-Olalla
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


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

2019-01-25 Thread Gemma Ruiz-Olalla
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


[R-es] Random Forest con poca "n" y muchos predictores

2018-12-13 Thread Gemma Ruiz-Olalla
Hola,

Me he iniciado hace poco en Machine Learning, y tengo una duda sobre mis
conjuntos de datos: el primero tiene 37 variables explicativas y 116
instancias, y el segundo, 140 variables explicativas y 195 instancias. El
primero lo veo bien, ya que hay 3 veces más casos que variables
explicativas, pero creo que el segundo caso puede suponer un problema al
haber casi el mismo número de predictores que de casos, verdad?

Para "arreglar" esto (en un Random Forest), tendría sentido hacer iterar el
train() unas 50-100 veces? Ir guardando estos modelos
resultantes (entrenados) en una lista, para luego hacer una especie de
promedio con ellos, y éste resultante (sus parámetros ntree y mtry) usarlo
para generar el modelo randomForest() definitivo.

Tiene sentido, o qué podría hacer si no?

Muchas gracias!

-- 
Gemma Ruiz-Olalla
gemma.ruizola...@gmail.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


[R-es] Última (más reciente) posición de un vector (con "n" desconocido)

2016-05-28 Thread Gemma Ruiz-Olalla
Hola,

Hay alguna forma de acceder a la última posición de un vector si se
desconoce "n"? (por estar dentro de un bucle "for" que va incrementando su
contador)

La idea es acceder al valor de vector[n] en el caso de que "n" sea una
incógnita.

Estoy casi segura de que es posible pero mi conocimiento de R es bastante
limitado.

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


[R-es] Interpretación coeficiente en modelo

2015-12-02 Thread Gemma Ruiz-Olalla
Hola,

Tenemos este modelo:

Phealth = mu + 11.79  poly(weight, 3) -5.15 sex.F +0.02 height -10.67
poly(weight, 3): sex.F + height:sex.F + epsilon


Donde Phealth es una respuesta binaria que representa la percepción de los
encuestados sobre su estado de salud (1=excelente, 0=pobre). Tenemos el
polinomio al cubo de la variable peso que no sabemos interpretar.

¿Alguien nos puede ayudar?

Muchas gracias,

-- 
Gemma
gemma.ruizola...@gmail.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


[R-es] Etiquetas en gráfico de dispersión

2015-05-31 Thread Gemma Ruiz-Olalla
Buenas tardes,

Tengo un gráfico de dispersión y quiero indicar cada punto a qué individuo
corresponde. ¿Cómo añado estas etiquetas de datos?

El código es:

res-cmdscale(fst,k=2)
plot(res[,1],res[,2],lwd=2,xlab=x,ylab=y)
abline(h=0,v=0,col=blue)

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