Hola, mi nombre es David Christensen, y en estos lecciones, aprenderá cómo manipular datos con filtrado, resumir y fusionar. Y también aprenderá a trabajar con valores faltantes. En esta lección, le mostraré cómo filtrar datos. Comencemos con algunos datos de ejemplo. Para propósitos de esta demostración, usaremos el conjunto de datos mtcars, que está integrado en R. Por lo tanto, no es necesario cargar nada especial para seguirlo. Para ver el conjunto de datos de mtcars, simplemente escriba mtcars en el consola. Esto genera el conjunto de datos. Entonces, ¿cuáles son estos datos? Bueno, son unas 30 observaciones más o menos. vehículos que aparecieron en la revista Motor Trend en 1974. Puede ver los nombres de los vehículos como nombres de filas. Echemos un vistazo rápido a algunas de las columnas. Las columnas incluyen MPG o millas por galón, CYL, que es el número de cilindros, cilindrada del motor en pulgadas cúbicas, caballo de fuerza, el peso del vehículo, tipo de transmisión, junto con algún otro vehículo atributos. Ahora digamos que solo queremos centrarnos en las primeras cinco filas de datos e ignorar todo lo demás. Para ello podemos utilizar la función head. Eso es cabeza, luego abre paréntesis, seguido de los datos que queremos filtrar. En este caso, mtcars, luego una coma, y luego n es igual a cinco, cerrando paréntesis. Presionaré control enter para ejecutar esta línea de código. Y aquí vamos. Tenemos las primeras cinco líneas del conjunto de datos. Si quisiéramos un recuento diferente de filas, podríamos haber ingresado en su lugar, un valor de n diferente. Esto podría haber sido 10 o 15 o 100 o tantas filas del datos que queríamos ver. ¿Qué pasaría si quisiéramos ver las últimas cinco filas del conjunto de datos? ¿En lugar de las primeras cinco filas? Bueno, podríamos usar la función tail. Tail devolverá las últimas filas a su especificación. Para obtener las últimas filas, puede escribir cola, paréntesis, mtcars, luego una coma, y ya lo has adivinado, n es igual a cinco, seguido de un paréntesis de cierre. Pulsaré control y entraré. y esto generará las últimas cinco filas. La cabeza y la cola son útiles. Los uso todo el tiempo cuando sólo quiero ver la primera o las últimas filas de un conjunto de datos. Pero para un filtrado sólido, necesitaremos aprender a filtrar por índice o con vectores lógicos. Echemos un vistazo a estos. Para introducir el filtrado de índice, digamos que solo queremos el de la sexta a la décima fila del conjunto de datos de mtcars. Las funciones de cabeza y cola no funcionarán para eso, pero podríamos remar y filtro de columnas para los datos que queremos. Para filtrar por índice, primero escribiremos mtcars, seguido de un corchete, y luego dentro del corchete, escribiremos el índice para lo que queremos filtrar. Intentemos esto rápidamente escribiendo seis dos puntos 10. Seis dos puntos 10 es lo mismo que si hubiésemos introducido seis, siete, ocho, nueve y 10. Ejecutemos seis dos puntos 10 en su propia línea para que pueda ver esto en acción. Como puedes ver, obtenemos seis, siete, ocho, nueve, 10. Bien, entonces pondremos seis dos puntos 10 entre corchetes y luego escribiremos un corchete de cierre y presionaremos control e ingresar. ¿Qué obtuvimos? En el resultado, vemos todas las filas, pero solo desde la sexta hasta la Décima columna, junto con las etiquetas de las filas. Bien, eso no es exactamente lo que queremos. Para obtener las filas en lugar de las columnas, necesitaremos agregar un coma después del 10 y luego ejecute el código. Sigamos adelante y probemos esto. Ahora obtenemos las filas correctas por valor de índice. Un pequeño punto que quería agregar, podemos filtrar por columna. y valores de índice al mismo tiempo. Los valores del índice de columna se pueden agregar después de la coma. Si solo queremos las dos primeras columnas de datos y la sexta hasta la décima fila, podemos agregar dos puntos dos después de la coma. Sigamos adelante y ejecutemos este código. Coches vacíos, corchetes, seis puntos 10, coma, uno dos puntos dos, corchete de cierre. Excelente. Esto devuelve dos columnas, la columna MPG, junto con el columna de cilindro para la sexta a la décima fila. Ahora que entendemos la sintaxis del filtrado de índices, podemos comenzar a agregar operadores lógicos para determinar el valores de índice que queremos usar. Consideremos lo siguiente. Digamos que queremos devolver filas de autos vacíos donde hay millas por galón es más de 25. Queremos saber qué filas son para los autos que obtienen buena gasolina. kilometraje según los estándares de 1974. Esto es lo que podemos hacer. Podemos escribir cuál función y dentro de la cual podemos escribir autos vacíos, el signo del dólar y luego MPG. Entonces tenemos la columna MPG de autos vacíos y queremos expresar que es mayor que 25. Devolvamos esta línea de código. Se devuelven los números de fila que queremos, fila 18, 19, 20, 26, 27, y 28. Estos son los valores de índice que necesitamos. Podríamos seguir adelante y colocar estos valores entre nuestros soporte para filtrar. Por ejemplo, coches vacíos, corchetes, 18, coma, El corchete de cierre se filtrará para mostrar la primera fila que queremos, pero no necesitamos hacer eso. Podemos escribir nuestro filtro justo entre corchetes. Sigamos adelante y hagamos eso. Entonces tenemos autos vacíos, corchetes, cual, paréntesis, autos vacíos, signo de dólar, MPG, mayor a 25, paréntesis de cierre, coma y luego cerrando el corchete. Seguiremos adelante y presionaremos control y entraremos al mismo tiempo. tiempo. Y ahora hemos filtrado con éxito nuestros datos para mostrar solo automóviles con millas por galón más de 25. Ahora que hemos visto el filtrado de índices, veamos cómo Puede expresar lo mismo, pero con menos código. Recuerde, la declaración which devolvió los números de fila 18, 19, 20, 26, 27 y 28. Eliminemos la declaración what y simplemente escribamos vacío autos, signo de dólar, MPG, mayor a 25, y control de prensa y ingresar. En la salida, obtenemos un vector lógico. Obtenemos valores falso, falso, falso, falso, falso, falso, falso, falso, falso, falso, hasta el valor 18 de la lista, lo cual es cierto. Se muestran los valores 18, 19, 20, 26, 27 y 28. como cierto. Podemos agregar este vector lógico entre nuestros corchetes a filtrar. Por diversión, sigamos adelante y hagamos eso. Aquí está ese vector lógico pegado entre corchetes. Y si ejecutamos esta línea de código, obtendremos las filas donde millas por galón es mayor que 25. Pero en lugar de escribir este largo vector lógico entre corchetes, podríamos simplemente escribir autos vacíos, corchete, autos vacíos, signo de dólar, MPG, mayor a 25, coma, cierre corchete y ejecute esta línea de código. Como antes, hemos filtrado con éxito los autos vacíos para solo Muestre las filas donde las millas por galón son mayores que 25. Una cosa a tener en cuenta con los vectores lógicos es que se puede reciclar. Con esto quiero decir que los vectores de verdaderos y falsos no no tiene que tener la misma longitud que los datos que están filtrando. Podrías, por ejemplo, escribir falso, falso, verdadero para devolver cada tercera fila. O falso, verdadero para devolver filas alternas. O verdadero para devolver todas las filas. O false para no devolver filas. Todos ellos están entre corchetes. Este tipo de filtrado resulta muy útil en situaciones como como cuando se filtran filas pares o impares. Pero también podría aplicarse mal si se tiene una prueba lógica que tiene una longitud diferente a la de los datos que está filtrando. En el siguiente vídeo, veremos cómo combinar múltiples filtros juntos y luego crear resúmenes sobre el datos filtrados. Gracias por ver.