Práctica de la Unidad 6
Ejercicio 1
Crear un paquete de R llamado paridad
que contenga dos funciones: numeros_pares()
y numeros_impares()
. Cada una de ellas toma un vector de números x
y devuelve un nuevo vector que contiene sólo los números pares o impares, según corresponda. A continuación se presentan ejemplos del comportamiento esperado de las funciones:
> library(paridad)
> numeros_pares(c(-1, 4, 4.1, 0, 6))
1] 4 0 6
[> numeros_pares(10:15)
1] 10 12 14
[> numeros_pares(1)
numeric(0)
> numeros_pares(c("hola", "chau"))
in numeros_pares(c("hola", "chau")) :
Error
x debe ser un vector numérico.> numeros_impares(c(-1, 4, 4.1, 0, 6))
1] -1
[> numeros_impares(10:15)
1] 11 13 15
[> numeros_impares(-2)
numeric(0)
> numeros_impares(c("hola", "chau"))
in numeros_impares(c("hola", "chau")) :
Error x debe ser un vector numérico.
Se pueden seguir estos pasos a modo de guía:
- Abrir RStudio y ejecutar
library(devtools)
en la terminal. - Generar el paquete
paridad
haciendo uso de la funcióncreate_package()
. Especificar adecuadamente el directorio donde estará ubicado el paquete. - Continuar trabajando en el proyecto de RStudio creado en el paso anterior, que se ha abierto automáticamente en una nueva sesión de RStudio. En esta sesión, cargar el paquete
devtools
. - Utilizar la función
use_r()
para agregar automáticamente un archivo.R
en la carpetaR/
del paquete. - Escribir en dicho script el código
numeros_pares()
ynumeros_impares()
. - Cargar todo el contenido del paquete desarrollado utilizando
load_all()
y verificar el correcto funcionamiento de las funciones. - Documentar las funciones usando el sistema
roxygen
y generar la documentación condocument()
. - Completar los campos básicos del archivo
DESCRIPTION
. - Instalar localmente el paquete con
install()
. - Generar un archivo comprimido para distribuir el paquete con
build()
. - Cerrar la sesión de RStudio, abrir una nueva, cargar el paquete con
library()
, probar las funciones y verificar que las páginas de ayuda se vean bien.
Ejercicio 2
Crear un nuevo paquete de R llamado palabrerio
. que cuente con dos funciones:
termina_en_vocal(palabra)
: recibe una cadena de texto y devuelveTRUE
si la última letra es una vocal (a, e, i, o, u). Para convertir una palabra en un vector de letras se pueden usar la función de R Basestrsplit()
. Esta función es de uso interno del paquete, no debe ser exportada para los usuarios.filtrar_por_vocal(palabras)
: recibe un vector de palabras y usa la funcióntermina_en_vocal()
para devolver un vector que contiene sólo aquellas que terminan en vocal.
Ejemplo del uso del paquete:
> library(palabrerio)
> x <- c("casa", "flor", "pared", "día", "sol")
> filtrar_por_vocal(x)
1] "casa" "día"
[> filtrar_por_vocal(c("montes", "cuadernos"))
character(0)
> filtrar_por_vocal(1:3)
in filtrar_por_vocal(1:3) : palabras debe ser un vector carácter. Error
Ejercicio 3
Crear un nuevo paquete llamado unidad3
para guardar allí al menos 4 de las funciones creadas en los ejercicios de la Práctica 3.