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

A veces, hacer una fusión completa de los datos en R no es exactamente lo que quiere. En estos casos, puede ser más apropiado para que coincida con los valores de una tabla de consulta. Para ello, puede utilizar el partido() o %en% función.

Video: Tablas de frecuencias en R

¿Cómo encontrar un partido

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

Video: R studio: Tablas en excel a R studio

gt; índice lt; - Partido (cold.states $ nombre, $ large.states Nombre) gt; índice [1] 1 4 NA NA 5 6 NA NA NA NA NA

Como se ve, el resultado es un vector que indica partidos se encuentra en las posiciones uno, cuatro, cinco, seis. Puede utilizar este resultado como un índice para encontrar todos los grandes estados que son también estados fríos.

Tenga en cuenta que es necesario para eliminar el N / A valores primero, usando na.omit ():

gt; 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% función es un tipo especial de función de llamada operador binario. Esto significa que lo utilice, colocándolo entre dos vectores, a diferencia de la mayoría de las otras funciones en las que los argumentos están entre paréntesis:

gt; índice lt; - cold.states $ Nombre% en% large.states $ Namegt; índice [1] TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSO

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

gt; ! is.na (Match (cold.states $ nombre, $ large.states Nombre)) [1] VERDADERO VERDADERO FALSO FALSO VERDADERO FALSO FALSO FALSO FALSO VERDADERO FALSO

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 con los valores de índice en un vector.

gt; cold.states [índice,] Nombre Frost2 Alaska 1526 Colorado 16626 15528 Montana 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 usa 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 R es identificable por los signos de porcentaje de todo el nombre de la función.

Video: Curso Visual Basic 6 - VT16: Relacionando Tablas - Mantenimiento Completo de Clientes

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 la función para obtener la página de ayuda, así: ?"%en%".

Artículos Relacionados