Cómo buscar palabras individuales en r

Cuando se trabaja con el texto, a menudo se pueden resolver los problemas si usted es capaz de encontrar palabras o patrones dentro del texto. R lo hace fácil de hacer. Imagina que tienes una lista de los estados de los Estados Unidos, y quiere saber cuál de estos estados contiene la palabra Nuevo.

Para investigar este problema, puede utilizar el conjunto de datos integrada states.names, que contiene - usted lo adivinó - los nombres de los estados de los Estados Unidos:

> Cabeza (state.names) [1] "Alabama" "Alaska" "Arizona" [4] "Arkansas" "California" "Colorado"

En términos generales, se puede encontrar subcadenas de texto de dos formas:

  • Por posición: Por ejemplo, usted puede decir R para obtener tres letras que empiezan en la posición 5.

  • Por patrón: Por ejemplo, usted puede decir R para obtener subcadenas que coincidan con una palabra o patrón específico.

    Un patrón es un poco como un comodín. En algunos juegos de cartas, puede usar la tarjeta de Joker para representar cualquier otra tarjeta. Del mismo modo, un patrón en R puede contener palabras o ciertos símbolos con significados especiales.

Búsqueda por posición en R

Si conoce la posición exacta de un subtexto dentro de un elemento de texto, se utiliza el substr () función para devolver el valor. Para extraer el subtexto que comienza en la tercera posición y se detiene en la sexta posición del state.name, utilice la siguiente:

> Cabeza (substr (state.name, start = 3, parada = 6)) [1] "ABAM" "Aska" "izon" "kans" "LIFO" "lora"

Búsqueda por patrón en R

Para encontrar subcadenas, puede utilizar la grep () función, que toma dos argumentos esenciales:

  • patrón: El patrón que desea encontrar.

  • X: El vector de caracteres que desea buscar.

Supongamos que desea encontrar todos los estados que contienen el patrón Nueva. Hazlo asi:

> Grep ("Nuevo", state.name) [1] 29 30 31 32

El resultado de grep () es un vector numérico con las posiciones de cada uno de los elementos que contienen el patrón coincidente. En otras palabras, el elemento 29a de state.name contiene la palabra Nuevo.

> State.name [29] Nueva Hampshire

¡Uf, que funcionó! Pero escribir en la posición de cada texto coincidente va a ser un montón de trabajo. Afortunadamente, puede utilizar los resultados de grep () directamente al subconjunto del vector original:

> State.name [grep ("Nuevo", state.name)] [1] "New Hampshire" "New Jersey" [3] "Nuevo México" "Nueva York"

los grep () función de mayúsculas y minúsculas - que sólo coincide con el texto en el mismo caso (mayúsculas o minúsculas) como su patrón de búsqueda. Si usted busca para el patrón "nuevo"En minúsculas, mejores resultados están vacíos:

> State.name [grep ("nuevo", state.name)] personaje (0)



» » » » Cómo buscar palabras individuales en r