6. Filtrado de datos
En este ejercicio usaremos los data frames islas, archipielagos y islas.N que hás creado y trabajado en los ejercícios precedentes.
Inicia tu script R con los códigos que has utilizado para resolver los ejercicios Leyendo Datos, Leyendo Más Datos, Añadir Variables, Variables Categoricas y Tablas de Agregación. Con eso tu código para este ejercício debe crear los objetos
islas,archipielagosyislas.Nen tu espacio de trabajo.Cree un vector lógico que tenga un valor de
TRUEpara cada valor de la variablen.muestradel objetoislas.Nque sea mayor que 6. Y que tenga un valor deFALSEpara cada valor menor o igual que 6. Asigna esta matriz a un objeto con el nombreislas.N.6.Utilice el vector lógico
islas.N.6para filtrar todos los valores de la variablestudy.iddel objetoislas.Npara los que el valor deislas.N.6seaTRUE. Asigna el resultado de este filtrado a un objeto llamadoislas.ids. Este objeto tendrá los rótulos de los sítios de estudio con más de seis islas.Ahora realice una prueba lógica que verifique si cada valor de la variable
study.iddel objetoislasse encuentra entre los rótulos contenidos en el objetoislas.id. Utilice el operador lógico%in%. Guarda el resultado de esta prueba en un objeto llamadoislas.test.Filtra las filas del data frame
islasque corresponden a los valoresTRUEdel objetoislas.test. El resultado será un nuevo data frame, con las mismas variables que el objetoislas, pero sólo con las filas seleccionadas. Guarde este nuevo data frame en un objeto llamadoislas.sel.Haiga más una prueba lógica, pero ahora para el objeto
archipielagos. Su prueba debe verificar si cada valor de la variablestudy.iddel objetoarchipielagosse encuentra entre las rótulos contenidos en el objetoislas.id. Guarda el resultado en un objeto llamadoarchipielagos.test.Filtra las filas del data frame
archipielagosque corresponden a los valoresTRUEdel objetoarchipielagos.test. El resultado será un nuevo data frame, con las mismas variables que el objetoarchipielagos, pero sólo con las filas seleccionadas. Guarde este nuevo data frame en un objeto llamadoarchipielagos.sel.
¿Ni idea de por qué recibes mensajes de error?
Quizás le ayude descargar ese fichero y ese fichero en su espacio de trabajo y leerlos con los comandos:
ej6a <- readRDS( "06_filtrar_islas_sel.rds")
ej6b <- readRDS( "06_filtrar_archipielagos_sel.rds")
Los objetos ej6a y ej6b tendrán los data frame tal cual esperados por este ejercício. Puedes compararlos con los objetos que creaste en tu código, con la función identical.
Pero atención: no incluyas eses comandos en su script de respuesta a este ejercício.
notas em linguagem R