lineas R-Encuentra cada ubicación de una cadena en un marco de datos



graficos en r (2)

En primer lugar, el conjunto de cadenas para probar se puede obtener de la siguiente manera:

mnths <- unique(c(t(xxx)))

Entonces, por ejemplo, para el primer elemento, "jan", la ubicación de las instancias puede ser dada por:

which(xxx == mnths[1], arr.ind = TRUE)

https://ffff65535.com

Tengo un marco de datos que se ve así:

a <- c("jan", "mar", "jan", "feb", "feb")
b <- c("feb", "mar", "mar", "jan", "mar")
c <- c("jan", "feb", "feb", "jan", "jan")
d <- c("jan", "mar", "jan", "feb", "feb")
e <- c("feb", "jan", "feb", "mar", "mar")
f <- c("jan", "feb", "feb", "jan", "jan")
xxx <- data.frame(a,b,c,d,e,f)
xxx

Necesito encontrar la ubicación en xxx de cada instancia de una cadena, digamos "jan". Puedo ver la solución hacky de correr a través de cada ranura en el df y verificar si == "jan", pero seguramente hay una forma adecuada y más fácil de hacerlo. Idealmente, me gustaría obtener los resultados devueltos como una lista de coordenadas.

¡Gracias por cualquier ayuda!


La función which tiene un argumento llamado arr.ind que le dará una matriz de 2 columnas que indica la ubicación de cada partido

which(xxx == "jan", arr.ind=TRUE)
      row col
 [1,]   1   1
 [2,]   3   1
 [3,]   4   2
 [4,]   1   3
 [5,]   4   3
 [6,]   5   3
 [7,]   1   4
 [8,]   3   4
 [9,]   2   5
[10,]   1   6
[11,]   4   6
[12,]   5   6




dataframe