| Title: | Herramientas y Datos para Estadística en FCA-UNL |
|---|---|
| Description: | Provee conjuntos de datos y funciones auxiliares para la enseñanza y práctica de la estadística en la Facultad de Ciencias Agrarias de la Universidad Nacional del Litoral. |
| Authors: | Alejandro Aléman [aut, cre] (affiliation: Cátedra de Estadística FCA-UNL), Patricia M. Acetta [aut] (affiliation: Cátedra de Estadística FCA-UNL), Agustin Alesso [aut] (affiliation: Cátedra de Estadística FCA-UNL) |
| Maintainer: | Alejandro Aléman <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.5.0 |
| Built: | 2026-10-11 11:18:52 UTC |
| Source: | https://github.com/Estadistica-FCA/estadisticaFcaUnl |
Modifica los datos de un diseño experimental para garantizar que un término específico (tratamiento o interacción) resulte significativo (p < alpha) o no significativo, preservando la estructura de bloques y otros factores.
Utiliza ajustar_variables internamente para realizar las modificaciones.
ajustar_significancia( data, formula, term = NULL, sig, alpha = 0.05, magnitud = 2 )ajustar_significancia( data, formula, term = NULL, sig, alpha = 0.05, magnitud = 2 )
data |
Dataframe con los datos del experimento. |
formula |
Fórmula del diseño (ej. |
term |
El término a manipular (ej. "A", "A:B"). Si es NULL, se intenta detectar automáticamente (priorizando interacciones sobre efectos principales). |
sig |
Lógico. TRUE para buscar diferencias significativas, FALSE para eliminarlas. |
alpha |
Nivel de significancia nominal (solo referecial por ahora, controla la magnitud del cambio). |
magnitud |
Multiplicador del desvío estándar para generar las diferencias. Valor más alto = p-valor más bajo. |
El dataframe modificado.
library(stats) # 1. Caso con energia_abejas: Forzar NO Significativo en Interacción data(energia_abejas) mod0 <- aov(Energia ~ Temp_ord * Visc_ord, data = energia_abejas) summary(mod0) energia_ns <- ajustar_significancia(energia_abejas, Energia ~ Temp_ord * Visc_ord, sig = FALSE ) summary(aov(Energia ~ Temp_ord * Visc_ord, data = energia_ns)) # 2. Caso con sal_suelo: Forzar NO significativo en interacción específica data(sal_suelo) mod_sal <- aov(EC ~ Salinidad_ord * Agua_ord + Textura, data = sal_suelo) summary(mod_sal) sal_ns <- ajustar_significancia(sal_suelo, EC ~ Salinidad_ord * Agua_ord + Textura, term = "Salinidad_ord:Agua_ord", sig = FALSE ) summary(aov(EC ~ Salinidad_ord * Agua_ord + Textura, data = sal_ns))library(stats) # 1. Caso con energia_abejas: Forzar NO Significativo en Interacción data(energia_abejas) mod0 <- aov(Energia ~ Temp_ord * Visc_ord, data = energia_abejas) summary(mod0) energia_ns <- ajustar_significancia(energia_abejas, Energia ~ Temp_ord * Visc_ord, sig = FALSE ) summary(aov(Energia ~ Temp_ord * Visc_ord, data = energia_ns)) # 2. Caso con sal_suelo: Forzar NO significativo en interacción específica data(sal_suelo) mod_sal <- aov(EC ~ Salinidad_ord * Agua_ord + Textura, data = sal_suelo) summary(mod_sal) sal_ns <- ajustar_significancia(sal_suelo, EC ~ Salinidad_ord * Agua_ord + Textura, term = "Salinidad_ord:Agua_ord", sig = FALSE ) summary(aov(EC ~ Salinidad_ord * Agua_ord + Textura, data = sal_ns))
Modifica una columna numérica de un data.frame para ajustar:
Forma (Asimetría y Curtosis) usando el método de Fleishman.
Cantidad aproximada de outliers (inyectando o recortando).
Tendencia (Media) y Dispersión (Desvío Estándar) mediante transformación lineal.
Soporta dataframes agrupados (grouped_df de dplyr).
ajustar_variables( data, col, media_obj = NULL, desvio_obj = NULL, asim_obj = NULL, curt_obj = NULL, n_outliers = NULL, mantener_originales = FALSE )ajustar_variables( data, col, media_obj = NULL, desvio_obj = NULL, asim_obj = NULL, curt_obj = NULL, n_outliers = NULL, mantener_originales = FALSE )
data |
Un data.frame (o grouped_df) que contiene la columna a modificar. |
col |
Nombre de la columna a modificar (string). |
media_obj |
Media objetivo. Numérico (escalar o vector/lista por grupos) o nombre de columna. |
desvio_obj |
Desviación estándar objetivo. Numérico (escalar o vector/lista por grupos) o nombre de columna. |
asim_obj |
Asimetría objetivo. Numérico (escalar o vector/lista por grupos) o nombre de columna. |
curt_obj |
Curtosis objetivo (3 = Normal). Numérico (escalar o vector/lista por grupos) o nombre de columna. |
n_outliers |
Número aproximado de outliers. Numérico (escalar o vector/lista por grupos) o nombre de columna. |
mantener_originales |
Lógico. Si es TRUE, los parámetros no especificados (NULL) se rellenan con los valores originales de la muestra. Si es FALSE (default), se dejan como NULL y la función solo ajusta lo solicitado. |
Un data.frame con la columna especificada modificada.
## Not run: library(dplyr) data("energia_abejas") # Ejemplo: Modificar por grupos usando listas para parámetros especificos # Grupo 1: Sin cambios (NULL) - Manteniendo originales # Grupo 2: Asimetria -0.1 # Grupo 3: Asimetria 0.1 energia_mod <- energia_abejas %>% group_by(Temp_ord) %>% ajustar_variables( col = "Energia", asim_obj = list(NULL, -0.1, 0.1), mantener_originales = TRUE ) %>% ungroup() ## End(Not run)## Not run: library(dplyr) data("energia_abejas") # Ejemplo: Modificar por grupos usando listas para parámetros especificos # Grupo 1: Sin cambios (NULL) - Manteniendo originales # Grupo 2: Asimetria -0.1 # Grupo 3: Asimetria 0.1 energia_mod <- energia_abejas %>% group_by(Temp_ord) %>% ajustar_variables( col = "Energia", asim_obj = list(NULL, -0.1, 0.1), mantener_originales = TRUE ) %>% ungroup() ## End(Not run)
Función que chequea una lista de mirrors y elige el optimo
check_mirrors(mirrors)check_mirrors(mirrors)
mirrors |
Vector de caracteres. Espera los mirrors a chequear |
Recorre la lista de mirrors en orden y chequea que funciona. Si funciona lo retorna. Si no funciona pasa al siguiente, si ninguno funciona devuelve error
Devuelve una url de un mirror valida
Realiza pruebas de hipotesis e intervalos de confianza para la varianza de una poblacion normal a partir de una muestra o de estadisticos muestrales.
chi.test( x = NULL, sigma2 = NULL, alternative = c("two.sided", "less", "greater"), conf.level = 0.95, s2 = NULL, n = NULL )chi.test( x = NULL, sigma2 = NULL, alternative = c("two.sided", "less", "greater"), conf.level = 0.95, s2 = NULL, n = NULL )
x |
Vector numerico. Muestra observada. |
sigma2 |
Numerico. Valor de la varianza poblacional bajo la hipotesis nula (H0). |
alternative |
String de caracteres que especifica la hipotesis alternativa. Debe ser |
conf.level |
Numerico. Nivel de confianza del intervalo. Por defecto es 0.95. |
s2 |
Numerico. Varianza muestral (para entrada de datos resumidos). |
n |
Numerico. Tamano de la muestra (para entrada de datos resumidos). |
Un objeto de la clase "htest" que contiene:
statistic: El valor del estadistico Chi-cuadrado (X-squared).
parameter: Los grados de libertad (df).
p.value: El p-valor de la prueba.
conf.int: El intervalo de confianza para la varianza.
estimate: La varianza muestral estimada.
null.value: El valor hipotetico de la varianza.
alternative: Un string que describe la hipotesis alternativa.
method: Un string indicando el tipo de prueba realizada.
data.name: Un string con el nombre de los datos o estadisticos ingresados.
# Usando un vector de datos set.seed(123) x <- rnorm(20, mean = 5, sd = 2) chi.test(x, sigma2 = 4) # Usando estadisticos muestrales directamente chi.test(s2 = 3.5, n = 25, sigma2 = 2.5)# Usando un vector de datos set.seed(123) x <- rnorm(20, mean = 5, sd = 2) chi.test(x, sigma2 = 4) # Usando estadisticos muestrales directamente chi.test(s2 = 3.5, n = 25, sigma2 = 2.5)
Lista de datasets utilizados en la asignatura Estadística Básica.
Lista de datasets utilizados en la asignatura Estadística Experimental.
Calcula la eficiencia relativa (ER) de aplicar un diseño de bloques completos al azar (DBCA) frente a un diseño completamente al azar (DCA), o de un diseño en cuadrado latino (DCL) frente a un diseño en bloques completos al azar (DBCA).
er_bloqueo(formula, data, comparacion = "DCAvsDBCA")er_bloqueo(formula, data, comparacion = "DCAvsDBCA")
formula |
Una fórmula del modelo del tipo |
data |
Un data.frame que contiene las variables del modelo. |
comparacion |
Carácter. Indica la comparación a realizar:
|
La función estima la eficiencia relativa basándose en la comparación de las
varianzas estimadas (CME) bajo los diseños involucrados y realiza una corrección por
grados de libertad. En la comparación "DCAvsDBCA", el término del bloque debe especificarse
en primer lugar a la derecha de la fórmula. En la comparación "DBCAvsDCL", los dos primeros
términos a la derecha de la fórmula representan las filas y las columnas respectivamente.
Retorna de manera invisible un valor numérico que representa la eficiencia relativa.
Para "DBCAvsDCL", retorna de manera invisible un vector con dos valores correspondientes
a la eficiencia relativa considerando las filas como bloques y las columnas como bloques respectivamente.
library(estadisticaFcaUnl) # Comparación DCA vs DBCA data(fertilizante_pastizal) er_bloqueo(P ~ Bloque + Tratamiento, fertilizante_pastizal) # Comparación DBCA vs DCL data(densidad_trigo_riego_suelo) er_bloqueo( rend ~ Fila + Columna + Densidad_ord, densidad_trigo_riego_suelo, comparacion = "DBCAvsDCL" )library(estadisticaFcaUnl) # Comparación DCA vs DBCA data(fertilizante_pastizal) er_bloqueo(P ~ Bloque + Tratamiento, fertilizante_pastizal) # Comparación DBCA vs DCL data(densidad_trigo_riego_suelo) er_bloqueo( rend ~ Fila + Columna + Densidad_ord, densidad_trigo_riego_suelo, comparacion = "DBCAvsDCL" )
Agrega vallas internas y externas a un gráfico ggplot2. Permite personalizar directamente los colores para las vallas internas y externas.
geom_vallas( mapping = NULL, data = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, color_interna = "orange", color_externa = "red", linetype = "dashed", linewidth = 1, size_texto = 3.5, mostrar_vallas = "todas", ... ) StatVallasOnlyLines StatVallasOnlyLabelsgeom_vallas( mapping = NULL, data = NULL, position = "identity", na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, color_interna = "orange", color_externa = "red", linetype = "dashed", linewidth = 1, size_texto = 3.5, mostrar_vallas = "todas", ... ) StatVallasOnlyLines StatVallasOnlyLabels
mapping |
Conjunto de mapeos estéticos creados por |
data |
Los datos que se mostrarán en esta capa. |
position |
Ajuste de posición. |
na.rm |
Si |
show.legend |
Lógico. ¿Debería esta capa incluirse en las leyendas? |
inherit.aes |
Si |
color_interna |
Color para las vallas internas (VII, VIS). |
color_externa |
Color para las vallas externas (VEI, VES). |
linetype |
Tipo de línea para las vallas (por defecto "dashed"). |
linewidth |
Grosor de las líneas de las vallas (por defecto 1). |
size_texto |
Tamaño del texto de las etiquetas (por defecto 3.5). |
mostrar_vallas |
Qué vallas mostrar: "todas" (por defecto), "internas" o "externas". |
... |
Otros argumentos pasados a |
Función que instala los paquetes especificados desde un repositorio local
install.local_repo(pkgs = NULL, repo_path = NULL, install = TRUE)install.local_repo(pkgs = NULL, repo_path = NULL, install = TRUE)
pkgs |
Vector de caracteres. Espera los paquetes a instalar |
repo_path |
String. Espera la ruta donde instalar el repositorio. Si no se especifica se toma el del script donde se está ejecutando |
install |
Logico. Parámetro de debug que permite correr la función sin descargar nada |
Primero chequea que se halla ingresado una lista de paquetes y el SO en el que opera Luego chequea si se especifico la ruta donde deberá descargarse el repositorio, si no lo está utiliza la del scrip donde es está ejecutando Seguido de esto chequea cuales de los paquetes indicados están dentro del repositorio Por ultimo instala los paquetes validos y retorna un informe con la ruta del repositorio, los paquetes validos y los invalidos
Retorna una lista con la ruta del repositorio, el tipo de paquetes descargados, los paquetes exitosos y los que dieron error
pkgs <- c( "rmarkdown", "moments", "pacman", "rio", "tidyverse", "emmeans", "car", "DescTools", "agricolae", "multcomp", "multcompView", "ggplot2" ) ## Not run: install.local_repo(pkgs) ## End(Not run)pkgs <- c( "rmarkdown", "moments", "pacman", "rio", "tidyverse", "emmeans", "car", "DescTools", "agricolae", "multcomp", "multcompView", "ggplot2" ) ## Not run: install.local_repo(pkgs) ## End(Not run)
Función que arma un miniCRAN de manera local
mkminiCRAN( pkgs, path = NULL, so = c("windows", "linux", "macos"), mirrors = NULL )mkminiCRAN( pkgs, path = NULL, so = c("windows", "linux", "macos"), mirrors = NULL )
pkgs |
Vector de caracteres. Espera los paquetes a instalar |
path |
String. Espera la ruta donde deberá armarse el miniCRAN |
so |
Vector de caracteres. Espera los sistemas operativos a utilizar. Por defecto incluye los tres más importantes |
mirrors |
Vector de caracteres. Puede especificarse una lista de mirrors a utilizar. Si no se especifica usa los que trae por defecto |
Primero chequea el mirror a utilizar. Luego crea el directorio donde almacenar el repositorio. Luego obtiene las dependencias de los paquetes de acuerdo al SO a utilizar Por ultimo descarga los paquetes necesarios y retorna un vector con los paquetes descargados.
Devuelve una vector con los paquetes instalados+
pkgs <- c( "rmarkdown", "moments", "pacman", "rio", "tidyverse", "emmeans", "car", "DescTools", "agricolae", "multcomp", "multcompView", "ggplot2" ) path <- "/home/path_to_repo" ## Not run: mkminiCRAN(pkgs, path) ## End(Not run)pkgs <- c( "rmarkdown", "moments", "pacman", "rio", "tidyverse", "emmeans", "car", "DescTools", "agricolae", "multcomp", "multcompView", "ggplot2" ) path <- "/home/path_to_repo" ## Not run: mkminiCRAN(pkgs, path) ## End(Not run)
Función que calcula las vallas internas y externas para la detección de valores atípicos (outliers). Permite ingresar los cuartiles Q1 y Q3 directamente o un vector de datos para calcularlos. Si se proporciona un vector de datos, también contabiliza e informa la cantidad de outliers leves y severos.
vallas_outliers(data = NULL, Q1 = NULL, Q3 = NULL)vallas_outliers(data = NULL, Q1 = NULL, Q3 = NULL)
data |
Vector numérico de datos. Si se proporciona, se calculan Q1 y Q3 a partir de él (si no fueron especificados) y se cuentan los outliers. |
Q1 |
Numerico. Valor del primer cuartil (25%). Opcional si se proporciona |
Q3 |
Numerico. Valor del tercer cuartil (75%). Opcional si se proporciona |
Retorna invisiblemente un data frame con los valores de las vallas:
VEI: Valla Externa Inferior (Q1 - 3 * IQR)
VII: Valla Interna Inferior (Q1 - 1.5 * IQR)
VIS: Valla Interna Superior (Q3 + 1.5 * IQR)
VES: Valla Externa Superior (Q3 + 3 * IQR)
# Usando cuartiles directamente res <- vallas_outliers(Q1 = 10, Q3 = 20) res$VII # Usando un vector de datos set.seed(123) datos <- rnorm(100) vallas_outliers(data = datos)# Usando cuartiles directamente res <- vallas_outliers(Q1 = 10, Q3 = 20) res$VII # Usando un vector de datos set.seed(123) datos <- rnorm(100) vallas_outliers(data = datos)
Comprueba si las columnas de una matriz son ortogonales entre sí y si suman cero (contrastes).
verificar_ortogonalidad(M, tol = 1e-08)verificar_ortogonalidad(M, tol = 1e-08)
M |
Una matriz numérica. |
tol |
Tolerancia numérica para las comparaciones con cero (por defecto 1e-8). |
Un valor lógico (invisible): TRUE si las columnas son ortogonales y suman cero, FALSE en caso contrario.
K <- cbind( C1 = c(1, -1 / 4, -1 / 4, -1 / 4, -1 / 4), C2 = c(0, 1, -1, 0, 0), C3 = c(0, 0, 0, 1, -1), C4 = c(0, 1 / 2, 1 / 2, -1 / 2, -1 / 2) ) verificar_ortogonalidad(K)K <- cbind( C1 = c(1, -1 / 4, -1 / 4, -1 / 4, -1 / 4), C2 = c(0, 1, -1, 0, 0), C3 = c(0, 0, 0, 1, -1), C4 = c(0, 1 / 2, 1 / 2, -1 / 2, -1 / 2) ) verificar_ortogonalidad(K)
Calcula los valores estandarizados (z-scores) para una columna de un data.frame,
agregando una columna z con los resultados e informando por consola la cantidad de valores
que superan 2 y 3 desviaciones estándar.
z_score(data = NULL, col = NULL)z_score(data = NULL, col = NULL)
data |
Un data.frame o grouped_df que contiene la columna a analizar (por defecto NULL). |
col |
Nombre de la columna (carácter o nombre sin comillas) de la cual se desea obtener el z-score (por defecto NULL). |
Retorna de manera invisible el data.frame (o grouped_df) recibido con una columna extra z que contiene los z-scores calculados.
library(estadisticaFcaUnl) data(fertilizante_pastizal) # Usando nombre de columna como cadena z_score(fertilizante_pastizal, "P") # Usando nombre de columna sin comillas z_score(fertilizante_pastizal, P)library(estadisticaFcaUnl) data(fertilizante_pastizal) # Usando nombre de columna como cadena z_score(fertilizante_pastizal, "P") # Usando nombre de columna sin comillas z_score(fertilizante_pastizal, P)
Realiza pruebas de hipotesis de una o dos muestras con distribucion normal (para medias o proporciones).
z.test( x = NULL, y = NULL, sig_x, sig_y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, conf.level = 0.95, p1 = NULL, p2 = NULL, n1 = NULL, n2 = NULL )z.test( x = NULL, y = NULL, sig_x, sig_y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, conf.level = 0.95, p1 = NULL, p2 = NULL, n1 = NULL, n2 = NULL )
x |
Vector numerico. Muestra para una muestra o primer muestra para dos muestras. |
y |
Vector numerico. Segunda muestra para dos muestras. Optional. |
sig_x |
Numerico. Desviacion estandar poblacional para x. |
sig_y |
Numerico. Desviacion estandar poblacional para y. Requerido para dos muestras. |
alternative |
String de caracteres que especifica la hipotesis alternativa. Debe ser "two.sided" (default), "greater" o "less". |
mu |
Numerico. Hipotesis nula para la media, diferencia de medias o proporcion. Por defecto es 0. |
conf.level |
Numerico. Nivel de confianza del intervalo. Por defecto es 0.95. |
p1 |
Numerico. Proporcion de exito muestral (para una o dos proporciones). |
p2 |
Numerico. Proporcion de exito en la poblacion 2 (para prueba de dos proporciones). |
n1 |
Numerico. Tamaño de la muestra (para una o dos proporciones). |
n2 |
Numerico. Tamaño de la muestra para la poblacion 2 (para prueba de dos proporciones). |
Un objeto de la clase "htest" que contiene los siguientes componentes:
statistic: El valor del estadistico Z.
p.value: El p-valor para la prueba.
conf.int: Un intervalo de confianza apropiado a la hipotesis alternativa especificada.
estimate: La estimacion de la media, diferencia en medias/proporciones, o proporcion de la muestra.
null.value: El valor hipotetico de la media, diferencia en medias, o proporcion.
alternative: Un string descriptivo de la hipotesis alternativa.
method: Un string indicando el tipo de prueba realizada.
data.name: Un string que da el nombre(s) de los datos.
# One-sample Z-test x <- rnorm(100, mean = 10, sd = 2) z.test(x, sig_x = 2, mu = 10) # Two-sample Z-test y <- rnorm(100, mean = 12, sd = 2) z.test(x, y, sig_x = 2, sig_y = 2) # One-proportion Z-test z.test(p1 = 0.4, n1 = 100, mu = 0.5) # Two-proportion Z-test z.test(p1 = 0.5, p2 = 0.6, n1 = 100, n2 = 100)# One-sample Z-test x <- rnorm(100, mean = 10, sd = 2) z.test(x, sig_x = 2, mu = 10) # Two-sample Z-test y <- rnorm(100, mean = 12, sd = 2) z.test(x, y, sig_x = 2, sig_y = 2) # One-proportion Z-test z.test(p1 = 0.4, n1 = 100, mu = 0.5) # Two-proportion Z-test z.test(p1 = 0.5, p2 = 0.6, n1 = 100, n2 = 100)