Código
<- function(x) {
num_vector
<- class(x)
clase <- length(x)
largo <- sum(is.na(x))
faltantes
return(list(clase = clase, largo = largo, faltantes = faltantes))
}
5 de noviembre de 2024
Cree una función llamada num_vector
que reciba un vector y devuelva una lista que incluya:
class()
)NAs
) contieneLos elementos de la lista deben tener los nombres clase
, largo
y faltantes
, respectivamente.
num_vector
con el siguiente vector: c(1, 2, 3, NA, 5, 6, 7, 8, 9, 10)
$clase
[1] "numeric"
$largo
[1] 10
$faltantes
[1] 1
Cree una función llamada char_vector
que reciba un vector de caracteres y devuelva una lista con tres elementos:
length(unique(x))
)table(x)
)names(which.max(table(x)))
)Los elementos de la lista deben tener nombres.
char_vector
con el siguiente vector: c("a", "b", "a", "b", "b", "c", "b")
$unicos
[1] 3
$obs_por_categoria
x
a b c
2 4 1
$categoria_mas_frecuente
[1] "b"
check_vector
que reciba un vector. Si el vector es numérico debe aplicar la función num_vector
y si es de caracteres debe aplicar la función char_vector
. Si el vector no es ni numérico ni de caracteres, la función debe imprimir un mensaje (print()
) indicando “x no es numérico ni categórico” (pista: is.numeric()
y is.character()
).# opción 1 sin "else"
check_vector <- function(x) {
if(is.numeric(x)) {
return(num_vector(x))
}
if(is.character(x)) {
return(char_vector(x))
}
print("x no es numérico ni categórico")
}
# opción 2 con "else"
check_vector <- function(x) {
if(is.numeric(x)) {
return(num_vector(x))
} else if(is.character(x)) {
return(char_vector(x))
} else {
print("x no es numérico ni categórico")
}
}
Evalue la función check_vector
con los siguientes 3 vectores (uno a la vez):
c("a", "b", "a", "b", "b", "c", NA, "b")
c(1, 2, 3, NA, 5, 6, 7, 8, 9, 10)
c(FALSE, TRUE)
$unicos
[1] 4
$obs_por_categoria
x
a b c
2 4 1
$categoria_mas_frecuente
[1] "b"
$clase
[1] "numeric"
$largo
[1] 10
$faltantes
[1] 1
[1] "x no es numérico ni categórico"