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
,archipielagos
yislas.N
en tu espacio de trabajo.Cree un vector lógico que tenga un valor de
TRUE
para cada valor de la variablen.muestra
del objetoislas.N
que sea mayor que 6. Y que tenga un valor deFALSE
para 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.6
para filtrar todos los valores de la variablestudy.id
del objetoislas.N
para los que el valor deislas.N.6
seaTRUE
. 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.id
del objetoislas
se 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
islas
que corresponden a los valoresTRUE
del 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.id
del objetoarchipielagos
se encuentra entre las rótulos contenidos en el objetoislas.id
. Guarda el resultado en un objeto llamadoarchipielagos.test
.Filtra las filas del data frame
archipielagos
que corresponden a los valoresTRUE
del 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.