Re: [R-es] Optimizar código

2018-02-07 Por tema Fernando Sanchez via R-help-es
Hola a todos,Muchas gracias por las propuestas. He probado las tres y han 
funcionado perfectamente.saludos,Fernando

  De: Javier Marcuzzi <javier.ruben.marcu...@gmail.com>
 Para: Fernando Sanchez <fernandsan...@yahoo.es> 
CC: "r-help-es@r-project.org" <r-help-es@r-project.org>
 Enviado: Miércoles 7 de febrero de 2018 13:46
 Asunto: Re: [R-es] Optimizar código
   
Estimado Fernando Sanchez
Creo que son buenas las ayudas que te han brindado, pero aparte de estas 
siempre puedes realizar una compilación de un código que no está optimizado, 
puedes ver el siguiente hipervínculo 
http://homepage.divms.uiowa.edu/~luke/R/compiler/compiler.pdf
Javier Rubén Marcuzzi
El 6 de febrero de 2018, 19:15, Fernando Sanchez via R-help-es 
<r-help-es@r-project.org> escribió:

Hola a todos,
Os pongo aquí debajo un pequeño fragmento de código. Resulta que dispongo de 
una CADENA que tiene dos columnas. Una con palabras y la otra que dice si es 
bueno o malo. En otra variable tengo una LISTA. Quiero cruzar todas las 
palabras de la lista con todas las de la cadena y cuando alguna coincida, que 
me indique en qué fila está y también si la palabra es "buena" o "mala". El 
código que os pongo más abajo funciona, pero es poco eficiente cuando las 
listas son más largas.
Se os ocurre otra forma de programarlo más elegantemente en R.

CADENA_1<-c("caliente","frío", "gordo","flaco")CADENA_2<-c(" 
bueno","malo","bueno","malo") CADENA<-rbind(CADENA_1,CADENA_ 
2)CADENA<-t(CADENA)LISTA<-c(" caliente","perro","flaco"," gato","coche")
for (i in 1:nrow(CADENA)) {for (j in 1:length(LISTA)) {if(toString(LISTA[j])== 
toString(CADENA[i,1]))  {print(paste("fila:",j,CADENA[ i,2],sep=" "))}}}
Un saludo y muchas gracias a todos.
        [[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] Optimizar código

2018-02-07 Por tema Javier Marcuzzi
Estimado Fernando Sanchez

Creo que son buenas las ayudas que te han brindado, pero aparte de estas
siempre puedes realizar una compilación de un código que no está
optimizado, puedes ver el siguiente hipervínculo
http://homepage.divms.uiowa.edu/~luke/R/compiler/compiler.pdf

Javier Rubén Marcuzzi

El 6 de febrero de 2018, 19:15, Fernando Sanchez via R-help-es <
r-help-es@r-project.org> escribió:

> Hola a todos,
> Os pongo aquí debajo un pequeño fragmento de código. Resulta que dispongo
> de una CADENA que tiene dos columnas. Una con palabras y la otra que dice
> si es bueno o malo. En otra variable tengo una LISTA. Quiero cruzar todas
> las palabras de la lista con todas las de la cadena y cuando alguna
> coincida, que me indique en qué fila está y también si la palabra es
> "buena" o "mala". El código que os pongo más abajo funciona, pero es poco
> eficiente cuando las listas son más largas.
> Se os ocurre otra forma de programarlo más elegantemente en R.
>
> CADENA_1<-c("caliente","frío","gordo","flaco")CADENA_2<-c("
> bueno","malo","bueno","malo")CADENA<-rbind(CADENA_1,CADENA_
> 2)CADENA<-t(CADENA)LISTA<-c("caliente","perro","flaco","gato","coche")
> for (i in 1:nrow(CADENA)) {for (j in 1:length(LISTA))
> {if(toString(LISTA[j])==toString(CADENA[i,1]))
> {print(paste("fila:",j,CADENA[i,2],sep=" "))}}}
> Un saludo y muchas gracias a todos.
> [[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] Optimizar código

2018-02-06 Por tema Carlos Ortega
Hola,

Esta es una forma...

> str_1 <- c("caliente","frío","gordo","flaco")
> str_2 <- c("bueno","malo","bueno","malo")
> str_3 <- cbind(str_1, str_2)
>
> l_val <- c("caliente","perro","flaco","gato","coche")
>
> row_god <- which(l_val %in% str_3[,1], arr.ind = TRUE )
> row_god
[1] 1 3

Saludos,
Carlos Ortega
www.qualityexcellence.es


El 6 de febrero de 2018, 23:15, Fernando Sanchez via R-help-es <
r-help-es@r-project.org> escribió:

> Hola a todos,
> Os pongo aquí debajo un pequeño fragmento de código. Resulta que dispongo
> de una CADENA que tiene dos columnas. Una con palabras y la otra que dice
> si es bueno o malo. En otra variable tengo una LISTA. Quiero cruzar todas
> las palabras de la lista con todas las de la cadena y cuando alguna
> coincida, que me indique en qué fila está y también si la palabra es
> "buena" o "mala". El código que os pongo más abajo funciona, pero es poco
> eficiente cuando las listas son más largas.
> Se os ocurre otra forma de programarlo más elegantemente en R.
>
> CADENA_1<-c("caliente","frío","gordo","flaco")CADENA_2<-c("
> bueno","malo","bueno","malo")CADENA<-rbind(CADENA_1,CADENA_
> 2)CADENA<-t(CADENA)LISTA<-c("caliente","perro","flaco","gato","coche")
> for (i in 1:nrow(CADENA)) {for (j in 1:length(LISTA))
> {if(toString(LISTA[j])==toString(CADENA[i,1]))
> {print(paste("fila:",j,CADENA[i,2],sep=" "))}}}
> Un saludo y muchas gracias a todos.
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.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