Contenido de este artículo
- 0
- 0
- 0
- 0
Dos funciones que la gente suele confundir en R son grep () y grepl () . Ambas funciones le permiten ver si un patrón determinado existe en una cadena de caracteres, pero devuelven resultados diferentes:
- grepl () devuelve VERDADERO cuando existe un patrón en una cadena de caracteres.
- grep () devuelve un vector de índices de las cadenas de caracteres que contienen el patrón.
El siguiente ejemplo ilustra esta diferencia:
#crear un vector de datos datos <- c ('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center') grep ('Guardia', datos) [1] 1 2 grepl ('Guardia', datos) [1] VERDADERO VERDADERO FALSO FALSO FALSO
Los siguientes ejemplos muestran cuándo es posible que desee utilizar una de estas funciones sobre la otra.
Cuándo usar grepl ()
1. Filtrar filas que contienen una determinada cadena
Uno de los usos más comunes de grepl () es para filtrar filas en un marco de datos que contienen una determinada cadena:
biblioteca (dplyr) #create marco de datos df <- data.frame (player = c ('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), puntos = c (12, 15, 19, 22, 32), rebotes = c (5, 7, 7, 12, 11)) #filtrar filas que contienen la cadena 'Guard' en la columna del jugador df%>% filter ( grepl ('Guard', player)) rebotes de puntos de jugador 1 P Guardia 12 5 2 S Guardia 15 7
Relacionado Cómo filtrar filas que contienen una determinada cadena usando dplyr
Cuándo usar grep ()
1. Seleccione columnas que contengan una determinada cadena
Puede usar grep () para seleccionar columnas en un marco de datos que contengan una determinada cadena:
biblioteca (dplyr) #create marco de datos df <- data.frame (player = c ('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), puntos = c (12, 15, 19, 22, 32), rebotes = c (5, 7, 7, 12, 11)) #seleccionar columnas que contengan la cadena 'p' en su nombre df%>% select ( grep ('p', colnames (df))) puntos de jugador 1 P Guardia 12 2 S Guardia 15 3 S Adelante 19 4 P Adelante 22 5 Centro 32
2. Cuente el número de filas que contienen una determinada cadena
Puede usar grep () para contar el número de filas en un marco de datos que contienen una determinada cadena:
#create marco de datos df <- data.frame (player = c ('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'), puntos = c (12, 15, 19, 22, 32), rebotes = c (5, 7, 7, 12, 11)) #contar cuántas filas contienen la cadena 'Guard' en la longitud de la columna del jugador ( grep ('Guard', df $ player)) [1] 2
Puede encontrar más tutoriales de R aquí .
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: