[R-es] Optimizar código

Fernando Sanchez
Tue, 06 Feb 2018 22:15:41 -0000

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.