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