¿Cómo trabajar con tablas de búsqueda en r

A veces, haciendo una fusión completa de los datos en R no es exactamente lo que quieres. En estos casos, puede ser más apropiado para que coincida con los valores en una tabla de búsqueda. Para ello, puede utilizar el partido()

o % en% función.

¿Cómo encontrar un partido

los partido() función devuelve las posiciones coincidentes de dos vectores o, más específicamente, las posiciones de los primeros partidos de un vector en el segundo vector. Por ejemplo, para encontrar que los estados grandes también se producen en el marco de datos cold.states, usted puede hacer lo siguiente:

> Índice lt; - los partidos (cold.states $ Nombre, large.states $ Nombre)> índice [1] 1 4 5 6 NA NA NA NA NA NA NA

Como puede ver, el resultado es un vector que indica partidos se encontraron en las posiciones uno, cuatro, cinco y seis. Usted puede usar este resultado como un índice para encontrar todos los grandes estados que también son estados fríos.

Tenga en cuenta que usted necesita para eliminar el N / A primeros valores, utilizando na.omit ():

> Large.states [na.omit (índice),] Nombre Area2 Alaska 5664326 Colorado 10376626 14558728 Montana Nevada 109889

Cómo dar sentido% en%

Una alternativa muy conveniente partido() es la función % en%, que devuelve un vector lógico que indica si hay una coincidencia.

los % en% la función es un tipo especial de la función de llamada operador binario. Esto significa que lo utilice colocándola entre dos vectores, a diferencia de la mayoría de las otras funciones donde los argumentos están entre paréntesis:

> Índice lt; - cold.states $ Nombre% en% large.states $ Nombre> índice [1] TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE false false false

Si se compara esto con el resultado de partido(), ves que tienes un CIERTO valor para cada valor que no falta en el resultado de partido(). O, para decirlo en el código R, el operador % en% hace lo mismo que el siguiente código:

>! Is.na (partidos (cold.states $ Nombre, large.states $ Nombre)) [1] VERDADERO VERDADERO FALSO VERDADERO FALSO VERDADERO FALSO FALSE FALSE FALSE FALSE

los partido() función devuelve los índices de los partidos de la segundo argumento a favor de los valores de la primero argumento. Por otra parte, % en% devoluciones CIERTO para cada valor en el primero argumento que coincide con un valor en el segundo argumento. El orden de los argumentos es importante aquí.

Porque % en% devuelve un vector de lógica, se puede utilizar directamente en los valores del índice en un vector.

> Cold.states [índice] Nombre Frost2 Alaska 1.526 Colorado 16626 Montana 15528 Nevada 188

Como se mencionó anteriormente, la % en% la función es un ejemplo de un operador binario en R. Esto significa que la función se utiliza poniéndolo entre dos valores, como lo haría para otros operadores, como + (más) y - (menos). Al mismo tiempo, % en% es en operador infijo. Un operador infijo en I es identificable por los signos de porcentaje alrededor del nombre de la función.

Si usted quiere saber cómo % en% se define, mira la sección de detalles de su página de ayuda. Pero tenga en cuenta que usted tiene que poner entre comillas el nombre de función para obtener la página de ayuda, así: ?"% en%".




» » » » ¿Cómo trabajar con tablas de búsqueda en r