Carlos Ortega
2018-02-07 02:57:49 UTC
Hola,
Esta es una forma...
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 6 de febrero de 2018, 23:15, Fernando Sanchez via R-help-es <
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 3str_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
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 6 de febrero de 2018, 23:15, Fernando Sanchez via R-help-es <
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
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
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]