Manual para el uso de R y Rstudio en el Diseño de Métodos Estadísticos para la
Investigación
Alfredo José Hipolito Albarran Perez y Nixon Jair Bruno Chuquilin
Facultad de Ciencias Agropecuarias, Escuela de Ingeniería Agroindustrial, Filial Valle
Jequetepeque, Universidad Nacional de Trujillo
2952: Métodos estadísticos para la investigación
Docente: Campos Vasquez Nilson Deonil
13 de mayo del 2024
INDICE:
INTRODUCCIÓN.....................................................................................................................1
MARCO TEORICO...................................................................................................................2
1.1. ¿Qué es el Lenguaje R?.......................................................................................................2
1.2. ¿Qué es Rstudio?................................................................................................................2
1.3. Estadística en RStudio.........................................................................................................2
I. INSTALACIÓN Y REQUERIMIENTO DE R y RSTUDIO.........................................................4
1.1. Descarga e instalación del software R (Windows 11):........................................................4
1.2. Descarga e instalación del software Rstudio (Windows 11):.............................................12
II. DESCRIPCION DE LAS INTERFACES DE R Y RSTUDIO:.....................................................18
2.1. Descripción de las interfaces de R y Rstudio.....................................................................18
2.1.1. Descripción del interfaz de R....................................................................................18
2.1.2. Descripción del interfaz de Rstudio..........................................................................23
III. INSTALACIÓN DE PAQUETES EN R STUDIO....................................................................25
3.1. ¿Qué es la instalación de paquetes en Rstudio?...............................................................25
3.2. ¿Cómo se instala?.............................................................................................................25
3.3. Paquetes estadísticos de Rstudio......................................................................................27
3.3.1. agricolae:..................................................................................................................27
3.3.2. readxl:.......................................................................................................................28
3.3.3. ggplot2:....................................................................................................................29
3.3.4. rmarkdown:..............................................................................................................29
IV. CONCEPTOS BÁSICOS NECESARIOS Y ATAJOS EN RSTUDIO:...........................................31
4.1. Vectores:...........................................................................................................................31
4.2. Análisis estadístico............................................................................................................32
4.3. Factor...............................................................................................................................32
4.3.1. Nivel de Factor..........................................................................................................32
4.4. Tratamiento......................................................................................................................33
4.5. Réplicas.............................................................................................................................33
V. IMPORTACIÓN DE ARCHIVOS EXCEL A R STUDIO..........................................................34
VI. ANALISIS DE DATOS UTILIZANDO LA ESTADISTICA DESCRIPTIVA...................................37
6.1. ¿Qué es la estadística descriptiva?...................................................................................37
6.2. Componentes Principales de la Estadística Descriptiva....................................................37
6.2.1. Medidas de Tendencia Central:.................................................................................37
6.2.2. Medidas de dispersión..............................................................................................38
6.3. Elaboración de histogramas con R Studio.........................................................................39
6.4. Elaboración de diagrama de caja con R Studio.................................................................40
VII. DISEÑO COMPLETAMENTE AL AZAR.............................................................................42
7.1. Diseño completamente al azar con R Studio:...................................................................42
7.2. Diseño de bloque completamente al azar con R Studio:..................................................47
7.3. Diseño cuadrado latino.....................................................................................................52
7.3.1. Diseñar un DCL (Latin Square Design) con R Studio..................................................52
VIII. DIAGRAMA DE CAJAS DE LOS TIPOS DE RACIONES.......................................................65
IX. DIAGRAMA DE CAJAS DE LOS TIPOS DE CASILLEROS.....................................................66
X. DIAGRAMA DE CAJAS DE LOS TIPOS DE PISOS..............................................................67
XI. DISEÑO COMPUESTO CENTRAL ROTABLE.....................................................................68
11.1. ¿Qué es el diseño compuesto central rotable ?............................................................68
XII. DISEÑOS FRACCIONADOS............................................................................................76
12.1. Diseño factorial fraccionado 2 k− p .............................................................................76
XIII. DISEÑO DE MEZCLAS:..................................................................................................91
XIV. DISEÑO PLACKETT-BURMAN......................................................................................100
XV. DISEÑO DE TAGUCHI..................................................................................................109
15.1. Diseño Ortogonal........................................................................................................109
XVI. ANÁLISIS DE COMPONENTES PRINCIPALES O PCA......................................................122
XVII. ANALISIS CLUSTER.....................................................................................................128
XVIII. CONCLUSION......................................................................................................132
XIX. Bibliografía................................................................................................................133
1
INTRODUCCIÓN
Los métodos estadísticos son pilares fundamentales en el proceso de investigación
científica, ofreciendo un enfoque sistemático para analizar y comprender datos de manera
objetiva. Desde la recopilación hasta la interpretación, estas técnicas proporcionan un marco
estructurado que facilita la toma de decisiones informadas y la validación de hipótesis. La
estadística descriptiva permite resumir y presentar datos de manera significativa, mientras que la
inferencial generaliza resultados a partir de muestras para hacer afirmaciones sobre poblaciones
más amplias. En diversos campos científicos, comprender y aplicar correctamente estos métodos
es esencial para asegurar la calidad y fiabilidad de los hallazgos obtenidos.
En la investigación estadística, el lenguaje de programación R y su entorno de desarrollo
RStudio han ganado gran aceptación. R es un software de análisis estadístico de código abierto,
que ofrece herramientas para manipular datos, realizar análisis complejos y crear visualizaciones.
Por su parte, RStudio es un entorno de desarrollo integrado (IDE) diseñado específicamente para
trabajar con R, ofreciendo un conjunto de características que facilitan la programación, la
visualización de resultados y la colaboración en proyectos estadísticos.
El uso combinado de R y RStudio ofrece una plataforma poderosa para análisis
estadísticos avanzados de manera eficiente. RStudio proporciona un entorno intuitivo para
escribir, ejecutar y depurar código R, mientras que la amplia comunidad de usuarios y la
disponibilidad de paquetes hacen de R una herramienta versátil para diversos problemas
estadísticos. Desde la limpieza de datos hasta la presentación de resultados, R y RStudio ofrecen
herramientas completas para cualquier proyecto de investigación estadística. Este manual
explorará los conceptos básicos de los métodos estadísticos y la funcionalidad de R y RStudio en
la investigación científica.
MARCO TEORICO
I.1. ¿Qué es el Lenguaje R?
R es un lenguaje y entorno de programación, creado en 1993 por Ross Ihaka y Robert
Gentleman, cuya característica principal es que forma un entorno de análisis estadístico con
lenguaje de programación para realizar cálculos y crear. Lo llamamos lenguaje de programación
porque nos permite dar instrucciones a nuestros equipos a través de código para realizar tareas
específicas (además de ser Turing Completo, un concepto que abordaremos más adelante). Un
entorno computacional es simplemente un intérprete para este código.
Al instalar R en nuestra computadora, en realidad estamos instalando el entorno
computacional. Para poder utilizarlo, necesitamos aprender a escribir instrucciones que el
software pueda interpretar y ejecutar, que es precisamente lo que aprenderemos en este curso.
A diferencia de otros lenguajes de programación diseñados para múltiples propósitos, R
fue creado específicamente para la estadística. Esta especialización lo hace único y puede parecer
poco convencional para quienes tienen experiencia con otros lenguajes de programación. Sin
embargo, esta misma característica es lo que convierte a R en una herramienta extremadamente
poderosa para el trabajo estadístico, ya que opera de la manera en que un especialista en
estadística espera (Vega, 2024)
Para comprender mejor estas características distintivas, es útil conocer un poco sobre los
orígenes de este lenguaje de programación.
I.2. ¿Qué es Rstudio?
RStudio es un entorno de desarrollo integrado de código abierto y gratuito con una
interfaz de usuario que hace que R sea mucho más fácil de usar. R Markdown, una herramienta
de RStudio, permite presentar fácilmente código, resultados y texto en formato .pdf, .html o .doc.
(Bosoni, 2019)
I.3. Estadística en RStudio
R y RStudio son herramientas indispensables en la investigación científica debido a su
capacidad para manejar grandes volúmenes de datos y realizar análisis estadísticos complejos.
Desde la limpieza y preparación de datos hasta la presentación de resultados, R y RStudio se
adaptan a las necesidades de cualquier proyecto de investigación estadística.
En este manual, exploraremos los conceptos básicos de los métodos estadísticos y la
funcionalidad de R y RStudio en el contexto de la investigación científica, ayudándote a
aprovechar al máximo estas herramientas para tus proyectos (Hernández, 2020)
I. INSTALACIÓN Y REQUERIMIENTO DE R y RSTUDIO
Una vez completados estos pasos, ya tendrás tanto R como RStudio instalados en tu
computadora y podrás empezar a trabajar en tus análisis de datos y programación en R.
I.1. Descarga e instalación del software R (Windows 11):
Para realizar la instalación de R usted debe visitar la página del CRAN (Comprehensive
R Archive Network) disponible en este enlace. Una vez ingrese encontrará los enlaces de la
instalación para los sistemas operativos Linux, Mac y Windows.
1do Paso: Damos click en Download R for Windows
Figura 1
Instalación de R
2do Paso: Click en install R for the first time.
Figura 2
Instalación de R
3ro Paso: Click en Download R-4.4.0 for Windows (82 megabytes, 64 bit)
Figura 3
Instalación de R
4to Paso: Se iniciará la descarga del software.
Figura 4
Instalación de R
5to Paso: Una vez finalizada la descarga, abrimos el archivo y hacemos clic en "Sí".
Figura 5
Instalación de R
6to Paso: Elegimos el idioma correspondiente y damos clic en “Aceptar”.
Figura 6
Instalación de R
7mo Paso: Damos clic en “Siguiente” en cada ventana de instalación.
Figura 7
Instalación de R
Figura 8
Instalación de R
Figura 9
Instalación de R
Figura 10
Instalación de R
Figura 11
Instalación De R
Figura 12
Instalación de R
8vo Paso: Clic en “Finalizar” para terminar la instalación.
Figura 13
Instalación de R
Nota: La instalación de R ha finalizado y la aplicación debería ser visible.
9no Paso: Verificamos en nuestro equipo la instalación.
Figura 14
Visualización de R
10mo Paso: Iniciamos el software y verificamos su correcta instalación realizando
algunas operaciones.
Figura 15
Aplicación R
I.2. Descarga e instalación del software Rstudio (Windows 11):
Cuando instalamos RStudio, obtenemos un software adicional que permite aprovechar
plenamente las capacidades de R en una interfaz intuitivo y amigable.
1er Paso: Antes de descargar, se tiene que revisar las características de nuestro equipo.
Figura 16
Especificaciones de ordenador.
2do Paso: Nos dirigimos a nuestro navegador web y en la barra de búsqueda ingresamos
la siguiente dirección: [Link]
Figura 17
Instalación de Rstudio
3er Paso: Clic en “Download RStudio Desktop”.
Figura 18
Instalación de Rstudio
4to Paso: Se iniciará la descarga del software.
Figura 19
Descarga de archivo de Rstudio
5to Paso: Al finalizar la descarga, abrimos el archivo y le damos click en Sí.
Figura 20
Instalación de Rstudio
6to Paso: Damos clic en “Siguiente” e “Instalar” según corresponda en cada ventana de
instalación
Figura 21
Instalación de Rstudio
Figura 22
Instalación de Rstudio
Figura 23
Instalación de Rstudio
Figura 24
Instalación de Rstudio
7mo Paso: Clic en “Terminar” para finalizar la instalación.
Figura 25
Instalación de Rstudio
8vo Paso: Verificamos en nuestro equipo la instalación del software.
Figura 26
Visualización de Rstudio
9no Paso: Abrimos el software y comprobamos si está correctamente instalado ejecutando
algunas operaciones.
Figura 27
Aplicación Rstudio
II. DESCRIPCION DE LAS INTERFACES DE R Y RSTUDIO:
II.1. Descripción de las interfaces de R y Rstudio
R ofrece una experiencia básica de programación en consola, RStudio mejora esta
experiencia con una interfaz gráfica que facilita la escritura de código, la visualización de
resultados y la gestión de proyectos estadísticos de manera más eficiente. (Solano, 2021)
II.1.1. Descripción del interfaz de R
Consola R o ventana de órdenes:
Figura 28
Visualización de la consola R
La ventana, en su parte superior contiene barra con menús:
• Fichero (operaciones básicas con ficheros);
• Editar (menú con opciones de edición, copiar, pegar, etc.);
• Misc (opciones avanzadas);
• Paquetes (permite gestionar los paquetes adicionales de R);
• Ayuda (información sobre R)
Interfaz gráfica, o Rcommander
Para poder trabajar con R necesitamos instalar la Interfaz gráfica, o Rcommander.
Cuando instalamos por primera vez, vamos al menú – Paquetes – seleccionar el espejo CRAN.
Desde la ventana CRAN mirror seleccionamos Spain (Madrid) o la más cercana:
Figura 29
Interfaz gráfica, o Rcommander
2do Paso: Después, desplegamos opción Paquetes, Instalar paquete(s)… Abrimos Menú –
Paquetes y pinchamos en Cargar paquete: Escogemos fBasics y Rcmdr y OK:
Figura 30
Instalación de paquete fBasics y Rcmdr.
Cargar el Rcommander
Para poder trabajar con los datos en el R, tenemos que cargar el Rcommander. Vamos a
menú Paquetes, Cargar paquete
Figura 31
Carga del Rcommander
3er Paso: Escogemos Rcmdr Aparecerá la ventana que indica que debemos instalar otros
paquetes de CRAN mirror, le damos a Aceptar.
Figura 32
Carga del Rcommander
4to Paso: Después de instalación de algunos contenidos, que puede tardar algunos
minutos, se activará la ventana de Rcommander:
Figura 33
Carga del Rcommander
5to Paso: Siempre tendremos las dos ventanas presentes para poder trabajar, una (la del
fondo) es la de la consola R, que se denomina RGui (Graphical user interface) y la de delante R
Commander, en la que podemos trabajar sin usar el lenguaje de comandos, utilizando las tareas
que tiene éste:
Figura 34
Carga del Rcommander
Las opciones que se incluyen en el R Commander son las siguientes:
Fichero, permite abrir archivos, guardar archivos de datos, comandos o algoritmos
de ejecución, etc.
Editar, las opciones de edición como copiar, pegar, etc.;
Datos, permite acceder a los conjuntos de datos y realizar diferentes acciones
relacionadas.
Estadísticos, comandos para realización de análisis de datos, uni- y multi-
variables, paramétricos y no paramétricos, etc..
Gráficas, permite realizar una representación gráfica de datos.
Modelos, permite acceder a modelos específicos para representación de datos.
Distribuciones, permite comprobar el ajuste a las diferentes distribuciones.
Herramientas, permite cargar paquetes necesarios para el análisis y ajustar el
interface para la representación gráfica.
Ayuda, permite acceder a la ayuda en R, en inglés.
II.1.2. Descripción del interfaz de Rstudio
La interfaz de RStudio se compone de diferentes paneles que permiten al usuario escribir
código, visualizar resultados, explorar archivos y trabajar con paquetes de R
Figura 35
Interfaz de Rstudio
1 2
Partes de la interfaz:
Se pueden ver 4 ventanas, además de la barra de opciones en la parte superior.
Ventana (1): es el editor de sintaxis: se trata del lugar donde editamos la sintaxis para
posteriormente ejecutarla. Al escribir allí no sucederá nada, a no ser que se apriete algún botón
para ejecutar los comandos (“RUN”) o la tecla ctrl+enter.
Ventana (2): es el “entorno de trabajo” del programa: en este lugar se muestra el
conjunto de datos y los “objetos” (resultados, variables, gráficos, etc.) que se almacenan al
ejecutar diferentes análisis.
Ventana (3) tiene varias sub pestañas: (i) la pestaña files permite ver el historial de
archivos trabajados con el programa; (ii) la pestaña plots permite visualizar los gráficos que se
generen; (iii) la pestaña packages permite ver los paquetes descargados y guardados en el disco
duro así como gestionar su instalación o actualización; (iv) la ventana help permite acceder al
CRAN - Comprehensive R Archive Network (siempre que se cuente con conexión a Internet),
página oficial del software que ofrece diferentes recursos para el programa: manuales para el
usuario, cursos online, información general, descarga de paquetes, información de los paquetes
instalados, etc. Esta última pestaña es bastante útil: empleando el motor de búsqueda se accede
de manera rápida a manuales de uso de los diferentes paquetes (y sus funciones) instalados en el
computador (esto no requiere conexión a Internet).; (v) la ventana viewer muestra los resultados
al construir reportes mediante funcionalidades tipo rmarkdown.
Ventana (4): es la consola. Corresponde a lo que sería el software R en su versión básica.
Allí el software ejecuta las operaciones realizadas desde el editor de sintaxis.
Menú superior:
El menú superior de RStudio proporciona acceso a funciones clave como la gestión de
archivos, la edición de código, la visualización de paneles, hacer zoom y cambiar el color de
fondo
Figura 36
Menú superior de Rstudio
New File:
Se encuentra en la ventana de File y crea nuevas ventanas para nuevos scripts.
Figura 37
New File de Rstudio
III. INSTALACIÓN DE PAQUETES EN R STUDIO
III.1. ¿Qué es la instalación de paquetes en Rstudio?
Instalar paquetes en RStudio implica agregar nuevas funcionalidades y capacidades a R
utilizando conjuntos de funciones y datos desarrollados por la comunidad. Estos paquetes están
diseñados para realizar diversas tareas, desde estadísticas básicas hasta técnicas avanzadas y
visualizaciones especializadas. La habilidad de instalar paquetes en RStudio es una de las
razones principales de la versatilidad y popularidad de R en la comunidad científica y de análisis
de datos, permitiendo a los usuarios ampliar y personalizar sus capacidades según las
necesidades específicas de sus proyectos (Rafa, 2019)
III.2. ¿Cómo se instala?
Algunos paquetes vienen instalados por defecto en R y otros deben ser instalados, lo cual
resulta ser bastante sencillo. Tenemos dos formas de instalar paquetes en R: desde la consola de
comandos o a través de la interfaz de RStudio. Por ejemplo, vamos a instalar el paquete
“ggplot2”, uno de los más usados en R.
Tenemos que usar el comando [Link]() e introducir el nombre del paquete que
queremos instalar entre comillas
Figura 38
Comando [Link]()
a. Interfaz de RStudio
Paso 1. Podemos acceder al asistente de instalación desde la pestaña de paquetes de
RStudio y desde esta deberemos seleccionar instalar.
Figura 39
Instalación desde la pestaña de paquetes de RStudio
2do Paso: Desde el asistente, escribiremos el nombre del paquete que queremos instalar y
pulsaremos sobre instalar
Figura 40
Instalación desde la pestaña de paquetes de RStudio
III.3. Paquetes estadísticos de Rstudio
Estos paquetes son como herramientas que hacen que trabajar con datos en RStudio sea
mucho más fácil.
III.3.1. agricolae:
Este paquete proporciona herramientas estadísticas y gráficas para la investigación
agronómica. Permite realizar análisis de experimentos agrícolas, como diseños de bloques
completos aleatorizados y análisis de múltiples comparaciones.
Figura 41
Instalación del paquete agricolae
III.3.2. readxl:
Es un paquete diseñado para la lectura de archivos de Excel (.xls y .xlsx) en R. Facilita la
importación de datos tabulares desde hojas de cálculo Excel a RStudio para su posterior análisis.
Figura 42
Instalación del paquete readxl
III.3.3. ggplot2:
Es un paquete muy popular para la creación de gráficos en RStudio. Utiliza una
gramática de gráficos para generar visualizaciones de datos personalizables y de alta calidad,
facilitando la exploración y presentación de datos de manera efectiva.
Figura 43
Instalación del paquete ggplot2
III.3.4. rmarkdown:
Este paquete permite la creación de documentos reproducibles que combinan código R,
resultados de código, y texto formateado en un solo documento. Los documentos de rmarkdown
se pueden representar en muchos formatos de salida, incluidos documentos HTML, PDF,
archivos de Word, presentaciones de diapositivas y más, lo que le permite concentrarse en el
contenido mientras R Markdown se encarga de su presentación. (Goicoa, 2019)
Figura 44
Instalación del paquete rmarkdown
IV. CONCEPTOS BÁSICOS NECESARIOS Y ATAJOS EN RSTUDIO:
IV.1. Vectores:
En RStudio, puedes usar funciones específicas para manipular y transformar datos, como,
por ejemplo, renombrar códigos o cualquier otro tipo de datos. Una función útil para esto es
dplyr, un paquete popular en R que facilita la manipulación de datos de manera eficiente. Aquí
tienes un ejemplo de cómo usar dplyr para renombrar códigos en un conjunto de datos:
# Instalamos y cargamos el paquete dplyr si aún no está instalado
[Link]("dplyr")
library(dplyr)
# Creamos un ejemplo de datos
datos <- [Link](
codigo = c("A", "B", "C", "A", "B"),
valor = c(10, 20, 15, 25, 30)
# Mostramos los datos originales
print(datos)
# Usamos dplyr para renombrar los códigos
datos_modificados <- datos %>%
mutate(codigo = recode(codigo, "A" = "CodigoA", "B" = "CodigoB", "C" =
"CodigoC"))
En este ejemplo:
Primero creamos un conjunto de datos datos con una columna codigo que contiene
valores "A", "B" y "C".
Usamos la función mutate de dplyr junto con recode para renombrar los códigos "A", "B"
y "C" a "CodigoA", "CodigoB" y "CodigoC", respectivamente.
Finalmente, mostramos los datos originales y los datos modificados para ver el efecto de
la transformación.
IV.2. Análisis estadístico
En el análisis estadístico, especialmente en el contexto del diseño de experimentos y
análisis de varianza (ANOVA), los términos "factor", "nivel de factor", "tratamiento" y "réplicas"
son fundamentales. A continuación, te explico cada uno de estos términos y te doy un ejemplo de
código en RStudio.
IV.3. Factor
Un factor es una variable categórica que se utiliza para agrupar los datos en diferentes
categorías. Se utiliza para identifica las variables categóricas en un experimento. Por ejemplo,
en un experimento agrícola, un factor podría ser el tipo de fertilizante utilizado.
# Definir los niveles del factor "Fertilizante" fertilizantes <- factor(c("A", "B", "C"))
IV.3.1. Nivel de Factor
Los niveles de un factor son las diferentes categorías o valores que puede tomar un factor.
Siguiendo con el ejemplo anterior, si el factor es el tipo de fertilizante, los niveles podrían ser
"Fertilizante A", "Fertilizante B" y "Fertilizante C". Permiten estudiar diferentes condiciones
dentro de un factor.
fertilizantes <- factor(c("A", "B", "C"))
IV.4. Tratamiento
Un tratamiento es una combinación específica de los niveles de todos los factores en un
experimento. En un diseño con un solo factor, cada nivel del factor es un tratamiento. Si hay
múltiples factores, cada combinación única de niveles de los factores representa un tratamiento.
Especifica combinaciones de niveles de factores a estudiar.
# Simular datos de crecimiento de plantas (en cm) para cada tratamiento
[Link](123) # Para reproducibilidad
datos$Crecimiento <- c(rnorm(replicas, mean = 8, sd = 1), # Fertilizante A
rnorm(replicas, mean = 10, sd = 1), # Fertilizante B
rnorm(replicas, mean = 12, sd = 1)) # Fertilizante C
IV.5. Réplicas
Las réplicas son repeticiones del mismo tratamiento en un experimento. Las réplicas son
importantes para estimar la variabilidad y aumentar la precisión del experimento. Aumentan la
precisión y permiten estimar la variabilidad del experimento.
# Número de réplicas replicas <- 3
V. IMPORTACIÓN DE ARCHIVOS EXCEL A R STUDIO
Para importar archivos de Excel a RStudio, se puede utilizar el paquete "readxl" que
permite leer archivos de Excel en formato xls y xlsx.
Figura 45
1er Paso: Antes de importar un archivo Excel a RStudio, es esencial asegurarse de que los
datos del archivo estén adecuadamente preparados. Para ello, es importante considerar los
siguientes aspectos:
Estructura de Datos Consistente: Asegúrese de que todas las filas y columnas
sigan una estructura coherente, sin celdas combinadas o vacías innecesarias.
Encabezados Claros: Los encabezados de las columnas deben ser descriptivos y
únicos, ubicados en la primera fila del archivo.
Tipo de Datos Correcto: Verifique que los tipos de datos (numéricos, fechas,
texto) sean consistentes y adecuados en todas las columnas.
Ausencia de Caracteres Especiales: Evite el uso de caracteres especiales o
espacios en los nombres de las columnas, ya que pueden causar problemas
durante la importación.
Sin Filas ni Columnas Adicionales: Elimine cualquier fila o columna extra que no
forme parte de los datos relevantes, como títulos o notas.
Consistencia en Formato de Fechas: Asegúrese de que las fechas estén en un
formato uniforme y compatible con R.
Datos Sin Errores: Revise y corrija cualquier error tipográfico o entrada incorrecta
en los datos.
Figura 46
Tabla Excel bien adecuada
2do Paso: En RStudio para poder importar la data desde Excel:
Figura 47
Excel a Rstudio
3er Paso: Luego, al seleccionar la opción From Excel nos aparecerá una ventana como la
que se mostrará a continuación, allí haremos clic en donde dice Browse para ubicar nuestro
archivo en el escritorio.
Figura 48
Ventana para escoger nuestro archivo
4to Paso: Finalmente, verificamos que nos aparezca la data en el panel R Script. Si este se
visualiza en dicho panel, quiere decir que la importación de los datos que se encuentran en el
archivo Excel ha sido exitosa
Figura 49
Excel a Rstudio
VI. ANALISIS DE DATOS UTILIZANDO LA ESTADISTICA DESCRIPTIVA
VI.1. ¿Qué es la estadística descriptiva?
La estadística descriptiva en RStudio se refiere al uso de herramientas y técnicas
estadísticas para resumir y describir las características principales de un conjunto de datos. Este
tipo de análisis se enfoca en la representación y descripción de datos mediante medidas
numéricas y gráficos, sin inferir conclusiones más allá de los datos analizados. (Ortega, 2020)
VI.2. Componentes Principales de la Estadística Descriptiva
VI.2.1. Medidas de Tendencia Central:
Las medidas de tendencia central son medidas estadísticas que pretenden resumir en un
solo valor a un conjunto de valores. Representan un centro en torno al cual se encuentra ubicado
el conjunto de los datos. Las medidas de tendencia central más utilizadas son: media, mediana y
moda. (Rafael, 2018)
Ejem:
# Crear un conjunto de datos de ejemplo [Link](123) # Par reproducibilidad
datos <- c(4, 8, 6, 5, 3, 7, 8, 9, 10, 6, 8, 6, 5)
VI.2.1.1. Media:
datos <- c(4, 8, 6, 5, 3, 7, 8, 9, 10, 6, 8, 6, 5)
media <- mean(datos)
Se utiliza la función mean().
VI.2.1.2. Mediana:
Se utiliza la función mean().
mediana <- median(datos)
print(paste("Mediana:", mediana))
VI.2.1.3. Moda:
No hay una función específica incorporada en R para calcular la moda, pero se puede
determinar utilizando una combinación de las funciones table(), [Link](), y names()
# Calcular la moda
moda <- [Link](names([Link](table(datos))))
print(paste("Moda:", moda))
VI.2.2. Medidas de dispersión
Las medidas de dispersión en RStudio se refieren a estadísticas que describen cuánto
varían o se dispersan los datos en un conjunto de datos. Estas medidas proporcionan información
sobre la variabilidad de los datos, ayudando a entender cómo se distribuyen alrededor de una
medida central (como la media o la mediana).
VI.2.2.1. Rango:
Es la diferencia entre el valor máximo y el mínimo de un conjunto de datos.
# Crear un conjunto de datos de ejemplo
datos <- c(4, 8, 6, 5, 3, 7, 8, 9, 10, 6, 8, 6, 5)
VI.2.2.2. Varianza:
Es una medida de la dispersión de los datos alrededor de la media. Se calcula como el
promedio de los cuadrados de las diferencias entre cada dato y la media. La varianza se calcula
utilizando la función ‘var()’:
# Calcular la varianza
varianza <- var(datos)
print(paste("Varianza:", varianza))
VI.2.2.3. Desviación Estándar:
Es la raíz cuadrada de la varianza y proporciona una medida de la dispersión de los datos
en la misma unidad que los datos originales. La desviación estándar se calcula utilizando la
función ‘sd()’:
# Calcular la desviación estándar
desviacion_estandar <- sd(datos)
print(paste("Desviación Estándar:", desviacion_estandar))
VI.3. Elaboración de histogramas con R Studio
Para crear un histograma en RStudio, puedes utilizar la función hist() que está incluida en
R base. Los histogramas son útiles para visualizar la distribución de una variable numérica. Aquí
te muestro cómo puedes crear un histograma paso a paso.
Para elaborar un histograma en el programa R Studio, primero debemos importar el Excel
con los datos a graficar. Seguidamente, abrimos un nuevo R Script siguiendo los siguientes
pasos: nos dirigimos hacia la opción New File, luego hacemos clic donde dice R Script y nos
aparecerá nuestra pestaña donde escribiremos los códigos para realizar nuestro histograma
Figura 50
Realización del histograma
VI.4. Elaboración de diagrama de caja con R Studio
Para llevar a cabo la elaboración de un diagrama de caja en RStudio, utilizaremos el
código boxplot (TD$ “Nombre del tratamiento") y para darle color a nuestro diagrama utilizamos
el código col= “Color (Ingles) de su preferencia”. Una vez escrito el código en R Script nos
quedaría de la siguiente manera:
boxplot(nombre del valor dependiente~nombre del valor independiente, data = nombre del
Excel, col=”red”, main=”Titulo del diagrama")
Figura 51
Realización del diagrama de caja
Ejemplo de media, mediana y moda:
# Conjunto de datos
calificaciones <- c(85, 90, 78, 92, 85, 95, 88, 78, 85, 92, 95, 78, 90, 88, 95)
# Calcular la Media
media <- mean(calificaciones)
print(paste("La media es:", media))
# Calcular la Mediana
mediana <- median(calificaciones)
print(paste("La mediana es:", mediana))
# Calcular la Moda
moda <- function(x) {
uniqx <- unique(x)
uniqx[[Link](tabulate(match(x, uniqx)))]
moda_calificaciones <- moda(calificaciones)
print(paste("La moda es:", moda_calificaciones))
# Conjunto de datos
calificaciones <- c(85, 90, 78, 92, 85, 95, 88, 78, 85, 92, 95, 78, 90, 88, 95)
La media (87.6) sugiere un buen rendimiento general.
La mediana (88) indica que la mitad de los estudiantes están por encima de este valor.
La moda (85) muestra que esta calificación fue la más frecuente.
VII. DISEÑO COMPLETAMENTE AL AZAR
VII.1. Diseño completamente al azar con R Studio:
El Diseño Completamente al Azar (DCA) es un tipo de diseño experimental en el que las
unidades experimentales (por ejemplo, parcelas, animales, pacientes, etc.) se asignan
aleatoriamente a diferentes tratamientos. Este diseño es uno de los más simples y se utiliza
principalmente cuando las unidades experimentales son homogéneas, es decir, no existen
diferencias significativas entre ellas que puedan influir en la variable de respuesta más allá de los
efectos de los tratamientos. En RStudio, se pueden realizar análisis de un diseño completamente
al azar utilizando funciones específicas para ANOVA y comparaciones de medias. (Hoz, 2016)
FACTORES DE TÉCNICA MODELO
DISEÑO
BLOQUE ESTADÍSTICA ESTADISTICO
ANOVA con un
Completamente al
0 criterio de Y =μ+ τ +ε
azar
clasificación
HIPOTESIS:
H 0=μ 1=μ2=μ3=μ 4 H a ≠ μ 1 ≠ μ2 ≠ μ3 ≠ μ 4
Dos opciones:
p < 0.05 Se rechaza la H0 o “Existen diferencias”
p > 0.05 Se acepta la H0 o “NO existen diferencias”
EJERCICIO DE PRACTICA.
Se probaron 4 raciones alimenticias para pollos, criados en jaulatipo bateria de 4 pisos
(filas) y 4 casilleros (columnas), la variable analizada: Peso del pollo (kg) a las 8 semanas de
edad. Determine si el tipo de ración influye en la ganancia de peso del pollo, por experiencia se
conoce que el piso o nivel en que se encuentran los pollos puede afectar su peso, por lo que se ha
considerado la evaluación de la misma ración en diferentes pisos y [Link] si existe
diferencias entre los tratamientos, es decir si el tipo de ración, piso o casillero influye en la
ganancia de peso de los pollos.
Puedes seguir los pasos:
1er Paso: Importar y cargar los datos en R Studio (Como tabla o vectores)
Figura 52
Datos cargados como tabla
2do Paso: Definir los factores: Los factores son las variables, es decir todas las variables
son factores a excepción de la variable respuesta, y se hace con el siguiente código:
Figura 53
Con la tabla de la figura 1
Figura 54
3er Paso: Usamos el código ANOVA de la siguiente manera:
Con los datos de la tabla de la figura 1
4to Paso: Realizar el análisis estadístico correspondiente para comparar los tratamientos y
determinar si existen diferencias significativas. Para esto podemos consultar en la consola
después de haber corrido todos nuestros códigos.
Figura 55
Resultados en Rstudio
INTERPRETACION:
1. El valor de p es 0.984, entonces al ser mayor de 0.05 las medidas no son
diferentes.
2.
5to Paso: Corroboramos con Tukey y Bonferroni
Figura 56
Ejemplo con la tabal de la figura 1
Figura 57
Ejemplo con la tabla de la figura 1
Figura 58
Ejemplo con la tabla de la figura 1
VII.2. Diseño de bloque completamente al azar con R Studio:
El Diseño de Bloques Completo al Azar (DBCA) pretende reducir el efecto de la
variabilidad que vienen a causas propias del experimento, pero independiente del efecto que se
desea estudiar.
Ventajas:
Sirve para cualquier tipo y numero de tratamientos.
Si se debe eliminar algún bloque o tratamiento, el análisis puede seguir siendo
analizado y no será afectado
Desventajas:
Es limitado en grados de libertad a diferencia de un DCA
FACTORES DE TÉCNICA MODELO
DISEÑO
BLOQUE ESTADÍSTICA ESTADISTICO
ANOVA con dos
Bloques Completos
1 criterios de Y =μ+ τ + γ +ε
al azar
clasificación
HIPOTESIS:
H 0=μ 1=μ2=μ3=μ 4=μ 5 H a ≠ μ 1 ≠ μ2 ≠ μ3 ≠ μ 4 ≠ μ5
Dos opciones:
p < 0.05 Se rechaza la H0 o “Existen diferencias”
p > 0.05 Se acepta la H0 o “NO existen diferencias”
Para hacer un DBCA en Rstudio, puedes seguir estos pasos:
IMPORTANTE: Para crear un Diseño de Bloques Completo al Azar se debe tener
instalado y activado el paquete “Agricolae”, este paquete trae incluidos los códigos para este tipo
de diseños.
A continuación, se planteará un problema
Figura 59
Excel a Rstudio
Solución:
Crear el dataframe
> Ensamblaje <- factor(c(3,4,1,2,2,3,4,1,1,2,3,4,4,1,2,3), labels=c("A","B","C","D"))
> Filas <- gl(4, 4)
> Columnas <- gl(4, 1, length=16)
> Tiempo <- c(10,14,7,8,7,18,11,8,5,10,11,9,10,10,12,14)
> BaseDCL <- [Link](Filas, Columnas, Ensamblaje, Tiempo)
> # Mostrar el dataframe
> print(BaseDCL)
Filas Columnas Ensamblaje Tiempo
1 1 1 C 10
2 1 2 D 14
3 1 3 A 7
4 1 4 B 8
5 2 1 B 7
6 2 2 C 18
7 2 3 D 11
8 2 4 A 8
9 3 1 A 5
10 3 2 B 10
11 3 3 C 11
12 3 4 D 9
13 4 1 D 10
14 4 2 A 10
15 4 3 B 12
16 4 4 C 14
> # Ajuste del modelo
> ModeloDCL <- aov(Tiempo ~ Filas + Columnas + Ensamblaje, data=BaseDCL)
> # Prueba de Tukey
> tukey <- [Link](ModeloDCL, "Ensamblaje", group=TRUE)
> # Mostrar resultados de Tukey
> print(tukey)
$statistics
MSerror Df Mean CV MSD
1.75 6 10.25 12.9061 3.238134
$parameters
test name.t ntr StudentizedRange alpha
Tukey Ensamblaje 4 4.895599 0.05
$means
Tiempo std r se Min Max Q25 Q50 Q75
A 7.50 2.081666 4 0.6614378 5 10 6.50 7.5 8.50
B 9.25 2.217356 4 0.6614378 7 12 7.75 9.0 10.50
C 13.25 3.593976 4 0.6614378 10 18 10.75 12.5 15.00
D 11.00 2.160247 4 0.6614378 9 14 9.75 10.5 11.75
$comparison
NULL
$groups
Tiempo groups
C 13.25 a
D 11.00 ab
B 9.25 bc
A 7.50 c
attr(,"class")
[1] "group"
> # Análisis de varianza
> anova_result <- anova(ModeloDCL)
> print(anova_result)
Analysis of Variance Table
Response: Tiempo
Df Sum Sq Mean Sq F value Pr(>F)
Filas 3 18.5 6.1667 3.5238 0.088519 .
Columnas 3 51.5 17.1667 9.8095 0.009926 **
Ensamblaje 3 72.5 24.1667 13.8095 0.004213 **
Residuals 6 10.5 1.7500
---
VII.3. Diseño cuadrado latino.
El Cuadrado Latino es un diseño experimental que utiliza la aleatorización para distribuir
los tratamientos de manera equilibrada. En este diseño, los tratamientos se organizan en una
matriz de tal manera que en la primera fila y columna se encuentran ordenados alfabéticamente.
(Palencia Pretelt, 2023)
TÉCNICA
FACTORES DE MODELO
DISEÑO ESTADÍSTIC
BLOQUE ESTADISTICO
A
ANOVA con
Bloques Completos al
2 tres criterios de Y =μ+ τ + γ +δ +ε
azar
clasificación
VII.3.1. Diseñar un DCL (Latin Square Design) con R Studio
Para diseñar un DCL (Latin Square Design) en R Studio, primero necesitamos instalar el
paquete agricolae que nos ayudará a crear el diseño.
# Paso 1: Crear el Diseño Cuadrado Latino
if(!require(agricolae)){
[Link]("agricolae")
library(agricolae)
tratamientos <- c("A", "B", "C", "D")
diseño <- [Link](trt = tratamientos, serie = 2)
print(diseño)
# Paso 2: Visualizar el Diseño
diseño$sketch
# Paso 3: Generar Datos de Ejemplo
[Link](123)
rendimiento <- rnorm(length(tratamientos)^2, mean = 10, sd = 2)
datos <- diseño$book
datos$rendimiento <- rendimiento
print(datos)
# Paso 4: Análisis de Varianza (ANOVA)
modelo <- aov(rendimiento ~ row + col + trt, data = datos)
summary(modelo)
# Paso 5: Interpretación de Resultados
Planteamos un problema:
En un estudio experimental se investigó el efecto de diferentes fórmulas de un material
sobre la "carga" que soportan. Además, se consideraron otros factores como el "lote" de
producción y el "operador" que realizó el procedimiento. Se tomaron medidas de "carga" para
cinco fórmulas diferentes, cada una aplicada a cinco lotes distintos y ejecutada por cinco
operadores diferentes. El objetivo es determinar si las fórmulas, lotes y operadores tienen efectos
significativos sobre la carga.
¿Los lotes de producción y los operadores influyen significativamente en la carga
soportada?
Código en Rstudio:
> # Creación de Datos
> carga <- c(24, 20, 19, 24, 24, 17, 24, 30, 27, 36, 18, 38, 26, 27, 21, 26, 31, 26, 23, 22,
22, 30, 20, 29, 31)
> operador <- rep(c("1", "2", "3", "4", "5"), 5)
> lote <- rep(c("1", "2", "3", "4", "5"), c(5, 5, 5, 5, 5))
> formula <- c("A", "B", "C", "D", "E", "B", "C", "D", "E", "A", "C", "D", "E", "A",
"B", "D", "E", "A", "B", "C", "E", "A", "B", "C", "D")
> datos2 <- cbind(operador, lote, formula, carga)
> # Análisis de Varianza (ANOVA)
> anova3 <- aov(carga ~ formula + lote + operador)
> summary(anova3)
Df Sum Sq Mean Sq F value Pr(>F)
formula 4 330 82.50 7.734 0.00254 **
lote 4 68 17.00 1.594 0.23906
operador 4 150 37.50 3.516 0.04037 *
Residuals 12 128 10.67
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> # Estimación de Valores Predichos y Residuos
> estima2 <- predict(anova3)
> error2 <- resid(anova3)
> # Gráficos de Normalidad de Residuos
> qqnorm(error2)
> qqline(error2)
> # Gráficos de Residuos vs. Valores Predichos
> plot(estima2, error2, pch = 16)
> abline(h = 0)
> # Gráficos de Residuos vs. Lote y Operador
> plot(lote, error2)
> abline(h = 0)
> plot(operador, error2, pch = 16)
> abline(h = 0)
> # Pruebas de Normalidad para los Residuos
> library(nortest)
> [Link](error2, "pnorm")
Asymptotic one-sample Kolmogorov-Smirnov test
data: error2
D = 0.28134, p-value = 0.03821
alternative hypothesis: two-sided
[Link](error2)
Lilliefors (Kolmogorov-Smirnov) normality test
data: error2
D = 0.18, p-value = 0.03581
> [Link](error2)
Anderson-Darling normality test
data: error2
A = 0.65237, p-value = 0.07829
> # Pruebas de Homogeneidad de Varianzas
> library(car)
> [Link](carga, formula)
Bartlett test of homogeneity of variances
data: carga and formula
Bartlett's K-squared = 3.0816, df = 4, p-value = 0.5443
> leveneTest(carga, formula, location = c("mean"), [Link] = 0.05)
Levene's Test for Homogeneity of Variance (center = median: c("mean"))
Df F value Pr(>F)
group 4 0.5858 0.6766
20
> leveneTest(carga, formula, location = c("median"), [Link] = 0.05)
Levene's Test for Homogeneity of Variance (center = median: c("median"))
Df F value Pr(>F)
group 4 0.5858 0.6766
20
> # Prueba de Cmparaciones Múltiples de Tukey HSD
> tuk2 <- TukeyHSD(anova3)
> par(mfrow = c(3, 1)) # Configurar la ventana gráfica para 3 gráficos en 1 columna
> plot(tuk2, las = 1, which = "formula") # Gráfico para la variable formula
> plot(tuk2, las = 1, which = "lote") # Gráfico para la variable lote
> plot(tuk2, las = 1, which = "operador") # Gráfico para la variable operador
> # Pruebas de Comparaciones Múltiples Adicionales
> library(agricolae)
> df2 <- [Link](anova3)
> cme2 <- deviance(anova3) / df2
> fisher2 <- [Link](carga, formula, df2, cme2, [Link] = "bonferroni", group = TRUE,
main = "carga")
> fisher2
$statistics
MSerror Df Mean CV [Link] MSD
10.66667 12 25.4 12.85821 3.428444 7.081764
$parameters
test [Link] name.t ntr alpha
Fisher-LSD bonferroni formula 5 0.
$parameters
test [Link] name.t ntr alpha
Fisher-LSD bonferroni formula 5 0.05
$means
carga std r se LCL UCL Min Max Q25 Q50 Q75
A 28.6 4.669047 5 1.460593 25.41764 31.78236 24 36 26 27 30
B 20.2 2.167948 5 1.460593 17.01764 23.38236 17 23 20 20 21
C 22.4 4.393177 5 1.460593 19.21764 25.58236 18 29 19 22 24
D 29.8 5.403702 5 1.460593 26.61764 32.98236 24 38 26 30 31
E 26.0 3.391165 5 1.460593 22.81764 29.18236 22 31 24 26 27
$comparison
NULL
$groups
carga groups
D 29.8 a
A 28.6 ab
E 26.0 abc
C 22.4 bc
B 20.2 c
attr(,"class")
[1] "group"
Figura 60
“Gráfico Q-Q (Normal Q-Q Plot)”
Interpretación:
Si los puntos están alineados a lo largo de la línea diagonal, esto indica que los residuos
se distribuyen normalmente.
En tu gráfico, parece que los puntos se desvían de la línea en las colas, lo que sugiere que
los residuos pueden no seguir una distribución normal estrictamente.
Figura 61
"Gráfico de Residuos vs. Valores Predichos del Modelo ANOVA"
Interpretación:
El gráfico muestra los residuos (error2) en función de los valores predichos (estima2) del
modelo ANOVA.
Distribución de los Residuos:
Los puntos están dispersos alrededor de la línea horizontal en 0, lo cual es un buen signo.
Esto indica que no hay una tendencia clara en los residuos, lo que sugiere que el modelo está
capturando adecuadamente la relación entre las variables.
Homogeneidad de Varianzas:
No se observa un patrón evidente en la dispersión de los residuos. Esto sugiere que la
suposición de homogeneidad de varianzas (homocedasticidad) se cumple, lo que es importante
para la validez del ANOVA.
Valores Atípicos:
Aunque hay algunos puntos que se desvían un poco de la línea central, no parecen ser
extremos. Esto sugiere que no hay problemas significativos con valores atípicos que podrían
influir en el análisis.
Figura 62
"Gráfico de Residuos vs. Lote del Modelo ANOVA"
Interpretación:
El gráfico muestra los residuos (error2) en función de los diferentes lotes (lote) del
modelo ANOVA.
Distribución de los Residuos:
Los puntos están dispersos alrededor de la línea horizontal en 0, lo que indica que los
residuos no presentan un patrón claro. Esto sugiere que el modelo está ajustando bien los datos.
Homogeneidad de Varianzas:
No se observa un patrón en la dispersión de los residuos entre los diferentes lotes. Esto
sugiere que se cumple la suposición de homogeneidad de varianzas (homocedasticidad).
Valores Atípicos:
Hay algunos puntos que se encuentran por encima y por debajo de la línea de 0, pero no
parecen ser extremos. Esto indica que no hay problemas significativos con valores atípicos que
puedan afectar el análisis.
Figura 63
"Gráfico de Residuos vs. Operador del Modelo ANOVA"
Interpretación
El gráfico muestra los residuos (error2) en función de los diferentes operadores
(operador) del modelo ANOVA.
Distribución de los Residuos:
Los puntos están distribuidos alrededor de la línea horizontal en 0, lo que indica que no
hay un patrón claro en los residuos. Esto sugiere que el modelo está ajustando adecuadamente los
datos.
Homogeneidad de Varianzas:
La dispersión de los residuos parece ser constante a través de los diferentes operadores, lo
que sugiere que se cumple la suposición de homogeneidad de varianzas (homocedasticidad).
Valores Atípicos:
No se observan valores atípicos extremos, aunque hay algunos puntos que se desvían de
la línea de 0. Sin embargo, estos no parecen ser lo suficientemente significativos como para
afectar el análisis.
Figura 64
“Intervalos de confianza para las diferencias de medias entre (Formulas, lotes y
operadores)”
Interpretación
Intervalos de confianza para las diferencias de medias entre fórmulas:
Este gráfico muestra los intervalos de confianza del 95% para las diferencias de medias
de la variable carga entre los distintos niveles de formula. Cada línea horizontal representa la
diferencia entre dos niveles de fórmula. Si un intervalo cruza la línea vertical en cero, no hay una
diferencia estadísticamente significativa entre esos niveles de fórmula. Si un intervalo no cruza
cero, se puede concluir que existe una diferencia significativa en las medias de carga entre esos
niveles de fórmula.
Intervalos de confianza para las diferencias de medias entre lotes:
Similar al gráfico de fórmulas, este gráfico muestra los intervalos de confianza del 95%
para las diferencias de medias entre los niveles de lote. Aquí, se observa si la variabilidad entre
los lotes contribuye significativamente a la variabilidad total de la carga. Intervalos que no
cruzan cero indican diferencias significativas entre esos lotes.
Intervalos de confianza para las diferencias de medias entre operadores:
Este gráfico ilustra los intervalos de confianza del 95% para las diferencias de medias de
carga entre diferentes operadores. De nuevo, los intervalos que cruzan la línea cero indican que
no hay diferencias significativas entre esos operadores, mientras que los que no cruzan cero
indican diferencias significativas en la media de la variable carga.
Figura 65
“Comparación de Medias de Carga entre Fórmulas con Grupos Significativamente
Diferentes”
Interpretación:
Esta gráfica muestra los intervalos de confianza al 95% para las medias de la variable
carga correspondientes a diferentes niveles de formula. Los niveles de fórmula se agrupan según
letras (a, ab, bc, c), lo que indica si las medias son significativamente diferentes entre sí. Las
fórmulas que comparten al menos una letra no son significativamente diferentes entre sí,
mientras que las fórmulas que no comparten ninguna letra son significativamente diferentes.
Detalle de la Interpretación:
Fórmulas D y A: Ambas tienen la letra "a" encima de sus intervalos de confianza,
lo que sugiere que no hay una diferencia significativa en la media de la carga
entre estas dos fórmulas.
Fórmula E: Está marcada como "ab", lo que indica que su media no es
significativamente diferente de las fórmulas con "a" (D y A) ni de aquellas con
"b" (C y B), pero sí podría diferir de otras.
Fórmula C: Marcada como "bc", lo que muestra que no es significativamente
diferente de E (ab) y B (c), pero puede diferir de D y A.
Fórmula B: Tiene la letra "c", indicando que su media es significativamente
diferente de las fórmulas etiquetadas con "a" y "b", pero no necesariamente
diferente de la fórmula con "bc" (C).
VIII. DIAGRAMA DE CAJAS DE LOS TIPOS DE RACIONES
1.
Pesos_de_poll
1.
Tipos de raciones
ABCD
1.
1.
A B C D
Raciones
INTERPRETACION
El diagrama de cajas nos indica que no hay una diferencia significativa en la posición de
los valores de cada tipo de ración
boxplot(Pesos_de_pollos~Casilleros,main="DIAGRAMA DE CAJAS DE LOS
TIPOS DE CASILLEROS", data=df,col=c("
legend("topleft", inset=.02, title="Tipos de casilleros",
legend=c("A","B","C","D"), fill=c("yellow","orange","purple","brown"),
horiz=TRUE, cex=0.7)
IX. DIAGRAMA DE CAJAS DE LOS TIPOS DE CASILLEROS
1.
Tipos de casilleros
ABCD
Pesos_de_poll
1.
1.
1.
1 2 3 4
Casilleros
INTERPRETACION
El diagrama de cajas nos indica que hay una diferencia significativa en la posición de los
valores de los tipos de casilleros 1,2 y 3 con respecto al casillero 4
boxplot(Pesos_de_pollos~Pisos,main="DIAGRAMA DE CAJAS DE LOS
TIPOS DE PISOS", data=df,col=c("turquoise"
legend("bottomright", inset=.02, title="Tipos de pisos",
legend=c("1","2","3","4"), fill=c("turquoise","gold","gray","beige"),
horiz=TRUE, cex=0.
X. DIAGRAMA DE CAJAS DE LOS TIPOS DE PISOS
1.
Pesos_de_poll
1.
Tipos de pisos
1234
1.
1.
1 2 3 4
Pisos
INTERPRETACION
El diagrama de cajas nos indica que no hay una diferencia significativa en la posición de
los valores de cada tipo de piso.
XI. DISEÑO COMPUESTO CENTRAL ROTABLE
XI.1. ¿Qué es el diseño compuesto central rotable ?
Diseño compuesto central rotable” el cual es un experimento diseñado de superficie
de respuesta que más se utiliza. Los diseños centrales compuestos son un diseño factorial o
factorial fraccionado con puntos centrales, ampliado con un grupo de puntos axiales (también
denominados puntos de estrella) que permiten estimar la curvatura. Puede utilizar un diseño
central compuesto para estimar eficientemente los términos de primer orden y segundo orden, así
mismo modelar una variable de respuesta con curvatura al agregar puntos centrales y axiales a un
diseño factorial previamente ejecutado. (GAMARRA, 2016)
El Diseño Compuesto Central Rotable (DCCR) es un diseño experimental utilizado para
construir modelos de segundo orden sin tener que utilizar un diseño factorial completo. Es
especialmente útil en la optimización de procesos. Aquí tienes una guía paso a paso para realizar
un DCCR en RStudio usando el paquete rsm. (Martínez, 2019)
Paso 1: Instalar y cargar los paquetes necesarios
Primero, instala y carga los paquetes rsm y rsm:
[Link]("rsm")
library(rsm)
Paso 2: Crear el diseño compuesto central
Define los factores y niveles de tu experimento. Por ejemplo, si tienes dos factores (A y
# Crear un diseño compuesto central con 2 factores
ccd_design <- ccd(response ~ A + B, n0 = 4, alpha = "rotatable")
print(ccd_design)
Paso 3: Generar el diseño
Genera el diseño y conviértelo a un data frame para agregar las respuestas:
# Generar el diseño y convertirlo a data frame
ccd_data <- [Link](ccd_design)
print(ccd_data)
Paso 4: Asignar las respuestas
Después de realizar el experimento, asigna las respuestas obtenidas a las corridas.
Supongamos que tienes las siguientes respuestas:
# Ejemplo de respuestas medidas
responses <- c(45, 50, 55, 60, 53, 58, 47, 52, 49, 54, 51, 56, 48)
ccd_data$response <- responses
print(ccd_data)
Paso 5: Analizar el modelo
Analiza los resultados del modelo para interpretar los efectos de los factores:
# Ver los coeficientes del modelo
print(coef(model))
# Ver la tabla de ANOVA
anova(model)
Paso 6: Visualizar los resultados
Crea gráficos para visualizar la superficie de respuesta y los contornos:
# Gráfico de contorno
contour(model, ~ A + B)
# Gráfico de superficie de respuesta
persp(model, ~ A + B, col = "lightblue", theta = 30, phi = 30)
Paso 7: Optimización
Si deseas encontrar la combinación óptima de factores, puedes usar funciones de
optimización:
# Optimización usando el paquete rsm
opt <- [Link](model)
print(opt)
A continuación, plantearemos un problema
Se esta investigando el efecto de dos factores (temperatura y tiempo) en la producción de
un producto químico. Queremos optimizar la producción y hemos decidido usar un DCCR para
diseñar nuestros experimentos.
Código en rstudio
> [Link]("ggplot2")
> library(rsm)
> library(ggplot2)
> # Generar el diseño compuesto central rotable
> dccr <- ccd(basis = 2, n0 = 5, alpha = "rotatable")
> # Imprimir el diseño
> print(dccr)
[Link] [Link] [Link] [Link] Block
1 1 8 0.000000 0.000000 1
2 2 7 0.000000 0.000000 1
3 3 2 1.000000 -1.000000 1
4 4 3 -1.000000 1.000000 1
5 5 4 1.000000 1.000000 1
6 6 5 0.000000 0.000000 1
7 7 1 -1.000000 -1.000000 1
8 8 6 0.000000 0.000000 1
9 9 9 0.000000 0.000000 1
10 1 3 0.000000 -1.414214 2
11 2 1 -1.414214 0.000000 2
12 3 7 0.000000 0.000000 2
13 4 9 0.000000 0.000000 2
14 5 5 0.000000 0.000000 2
15 6 6 0.000000 0.000000 2
16 7 8 0.000000 0.000000 2
17 8 2 1.414214 0.000000 2
18 9 4 0.000000 1.414214 2
Data are stored in coded form using these coding formulas ...
x1 ~ [Link]
x2 ~ [Link]
> # Datos experimentales
> datos <- [Link](
+ Run = 1:13,
+ Temperatura = c(80, 120, 80, 120, 100, 100, 100, 100, 100, 70, 130, 100,
100),
+ Tiempo = c(10, 10, 30, 30, 20, 20, 20, 20, 20, 20, 20, 5, 35),
+ Produccion = c(50, 55, 60, 65, 68, 69, 70, 70, 70, 48, 75, 45, 80)
+)
> # Ajustar el modelo de regresión
> modelo <- rsm(Produccion ~ FO(Temperatura, Tiempo) +
TWI(Temperatura, Tiempo) + PQ(Temperatura, Tiempo), data = datos)
> # Resumen del modelo
> summary(modelo)
Call:
rsm(formula = Produccion ~ FO(Temperatura, Tiempo) + TWI(Temperatura,
Tiempo) + PQ(Temperatura, Tiempo), data = datos)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.0816e+02 6.1195e+01 -1.7675 0.12048
Temperatura 2.5783e+00 1.0846e+00 2.3772 0.04909 *
Tiempo 2.5001e+00 1.7207e+00 1.4530 0.18954
Temperatura:Tiempo -2.1523e-16 1.4932e-02 0.0000 1.00000
Temperatura^2 -1.1406e-02 5.1881e-03 -2.1985 0.06387 .
Tiempo^2 -4.1180e-02 2.0752e-02 -1.9843 0.08762 .
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Multiple R-squared: 0.8258, Adjusted R-squared: 0.7013
F-statistic: 6.635 on 5 and 7 DF, p-value: 0.01378
Analysis of Variance Table
Response: Produccion
Df Sum Sq Mean Sq F value Pr(>F)
FO(Temperatura, Tiempo) 2 918.41 459.21 12.8714 0.0045179
TWI(Temperatura, Tiempo) 1 0.00 0.00 0.0000 1.0000000
PQ(Temperatura, Tiempo) 2 265.08 132.54 3.7151 0.0795036
Residuals 7 249.74 35.68
Lack of fit 3 246.54 82.18 102.7229 0.0003065
Pure error 4 3.20 0.80
Stationary point of response surface:
Temperatura Tiempo
113.02200 30.35633
Eigenanalysis:
eigen() decomposition
$values
[1] -0.01140604 -0.04117970
$vectors
[,1] [,2]
Temperatura -1.000000e+00 3.614452e-15
Tiempo 3.614452e-15 1.000000e+00
> # Graficar la superficie de respuesta
> # Grafica de contornos
> contour(modelo, ~ Temperatura + Tiempo, image = TRUE)
> # Superficie de respuesta en 3D
> persp(modelo, ~ Temperatura + Tiempo, zlab = "Producción", theta = 30, phi
= 30, col = "lightblue")
Figura 66
El gráfico de contornos
Interpretación:
Muestra las líneas de igual respuesta (producción) en el espacio de los factores
(temperatura y tiempo). Nos ayuda a identificar las combinaciones de factores que resultan en la
misma producción.(“” Gráfica 3D)
Figura 67
Interpretación:
Muestra cómo varía la producción con los cambios en los niveles de temperatura y
tiempo, proporcionando una visión más intuitiva de la interacción entre los factores.
XII. DISEÑOS FRACCIONADOS
Cuando crece el número de factores también aumenta rápidamente el número de
tratamientos en los diseños factoriales completos 2k . Por ejemplo, para k=6 factores, una sola
réplica del diseño factorial completo 26 implica correr 64 pruebas, que corresponden al número
de tratamientos del diseño; para k=7 son 27=128 puntos de diseño. En la práctica no es posible
hacer tantas corridas experimentales. Sin embargo, es frecuente que en las primeras etapas de
una investigación interese estudiar muchos factores, digamos, 6 o más. Para experimentar con
esta cantidad de factores se requiere una estrategia que permita reducir de manera significativa el
número de tratamientos experimentales, pero que al mismo tiempo se pierda el mínimo de
información valiosa. Tal estrategia la conforman los diseños factoriales fraccionados, los cuales,
gracias al exceso de información que acumulan los diseños factoriales completos cuando se
estudian muchos factores, permiten sacrificar información poco importante en aras de un diseño
manejable en cuanto al número de de corridas experimentales. Las corridas en los diseños
factoriales fraccionados son una parte o una fracción de los tratamientos de las factoriales
completas. La teoría de diseños factoriales fraccionados se basa en una jerarquización de los
efectos: son más importantes los efectos principales, seguidos por las interacciones dobles, luego
las triples, cuádruples, etc. (Salazar, 2018)
XII.1. Diseño factorial fraccionado 2k− p
De manera general,la notación 2k− p significa que es una fracción
1 k− p
p del diseño factorial completo 2k. Para construir un diseño 2 se eligen p generadores
2
iniciales, todas interacciones del más alto orden posible, de manera que todos sus productos sean
interacciones de alto orden (Bao, 2020).
Para comenzar a analizar estos diseños experimentales, comentaremos el caso de la mitad de un
2k
diseño experimental, es decir el diseño factorial fraccionado 2k−1, que resulta de dividir , por
2
lo que, por ejemplo, si tenemos un diseño factorial 24 y lo dividimos a la mitad, tendremos
4
2 4 −1 3
que =2 =2 es decir, la mitad de un diseño 24 es un diseño factorial 23. Esto es importante
2
tenerlo claro, dado que de aquí partirá todo el análisis estadístico pertinente. Existen ciertas
reglas empíricas que son de gran utilidad para la correcta interpretación de los diseños factoriales
fraccionados, los cuales se denominan los tres principios de los efectos factoriales, mismos que
se enuncian en el siguiente apartado. (Goicoechea, 2019)
Pasos para realizar el diseño fraccionado:
Paso 1: Instalar y cargar los paquetes necesarios
Primero, debes instalar y cargar el paquete FrF2, que es específico para el diseño
fraccional.
[Link]("FrF2")
library(FrF2)
Paso 2: Definir el diseño fraccionado
Decide el número de factores y niveles que vas a usar. Por ejemplo, si tienes 4 factores
(A, B, C, D) y quieres realizar un diseño fraccionado 24 −1, puedes usar el siguiente código:
# Crear un diseño fraccionado 2^(4-1)
design <- FrF2(8, 4, generators = "D=ABC")
print(design)
Paso 3: Nombrar los factores
Puedes especificar nombres personalizados para tus factores utilizando el argumento
[Link].
responses <- c(34, 45, 23, 67, 56, 29, 50, 40) # Ejemplo de respuestas medidas
design <- [Link](design, responses)
print(design)
Paso 5: Analizar el diseño
Utiliza la función lm para ajustar un modelo lineal a los datos y analizar los efectos de los
factores.
# Ajustar el modelo lineal
model <- lm(responses ~ ., data = design)
summary(model)
Paso 6: Visualizar los resultados
Puedes usar gráficos para visualizar los efectos principales y las interacciones.
# Efectos principales
library(ggplot2)
[Link] <- FrF2(8, 4, generators = "D=ABC", [Link] = c("Factor1",
"Factor2", "Factor3", "Factor4"))
effects <- DanielPlot(model, half=FALSE, code=TRUE)
print(effects)
# Gráfico de interacción
[Link](design$Factor1, design$Factor2, responses)
Paso 7: Interpretar los resultados
Interpreta los coeficientes y los gráficos para determinar qué factores y sus interacciones
son significativos en tu experimento.
EJERCICIO
Descripción del Problema:
Un grupo de investigadores está realizando un experimento para estudiar los efectos de
cinco factores (A, B, C, D y E) sobre la cantidad de alcohol isoamílico obtenido en un proceso de
fermentación. Para ello, han diseñado un experimento fraccionado 2^5-1, generando 16 corridas
experimentales con diferentes combinaciones de niveles de los factores.
El objetivo es analizar los efectos principales e interacciones entre estos factores y
determinar cuáles de ellos tienen un impacto significativo en la respuesta (cantidad de alcohol
isoamílico obtenido).
Datos del experimento
El conjunto de datos simulado contiene los valores de los factores A, B, C, D y E, así
como la cantidad de alcohol isoamílico obtenido en cada corrida experimental:
Código en Rstudio:
> # Cargar la biblioteca printr
> library(printr)
> # Crear un conjunto de datos simulado
> datos <- [Link](
+ A = c(-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1),
+ B = c(-1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1),
+ C = c(-1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1),
+ D = c(-1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1),
+ E = c(1, -1, -1, 1, -1, 1, 1, -1, -1, 1, -1, 1, 1, -1, -1, 1),
+ Alcohol_obtenido = c(32.9, 16.8, 29.3, 24.1, 27.5, 11.4, 23.9, 18.8, 42.5,
21.8, 30.0, 15.0, 35.0, 20.0, 25.0, 22.0)
+)
> # Ver la estructura de los datos
> str(datos)
'[Link]': 16 obs. of 6 variables:
$A : num -1 1 -1 1 -1 1 -1 1 -1 1 ...
$B : num -1 -1 1 1 -1 -1 1 1 -1 -1 ...
$C : num -1 -1 -1 -1 1 1 1 1 -1 -1 ...
$D : num -1 -1 -1 -1 -1 -1 -1 -1 1 1 ...
$E : num 1 -1 -1 1 -1 1 1 -1 -1 1 ...
$ Alcohol_obtenido: num 32.9 16.8 29.3 24.1 27.5 11.4 23.9 18.8 42.5 21.8
> # Imprimir el conjunto de datos
> print(datos)
A B C D E Alcohol_obtenido
1 -1 -1 -1 -1 1 32.9
2 1 -1 -1 -1 -1 16.8
3 -1 1 -1 -1 -1 29.3
4 1 1 -1 -1 1 24.1
5 -1 -1 1 -1 -1 27.5
6 1 -1 1 -1 1 11.4
7 -1 1 1 -1 1 23.9
8 1 1 1 -1 -1 18.8
9 -1 -1 -1 1 -1 42.5
10 1 -1 -1 1 1 21.8
11 -1 1 -1 1 -1 30.0
12 1 1 -1 1 1 15.0
13 -1 -1 1 1 1 35.0
14 1 -1 1 1 -1 20.0
15 -1 1 1 1 -1 25.0
16 1 1 1 1 1 22.0
# Cargar la biblioteca FrF2
> library(FrF2)
> # Crear el diseño del experimento fraccionado
> experimento = FrF2(nruns = 16, nfactors = 5,
+ [Link] = list(A=c(-1,1), B=c(-1,1), C=c(-1,1), D=c(-1,1),
E=c(-1,1)),
+ generators = "ABCD", replications = 1, randomize = FALSE)
> # Agregar la respuesta al diseño
> experimento_respuesta = [Link](design = experimento, response =
datos$Alcohol_obtenido)
> # Visualizar efectos principales y gráficos de interacción
> halfnormal(DanielPlot(experimento_respuesta, main= "Gráfico para el
Alcohol Isoamílico"))
> efectos_principales = MEPlot(experimento_respuesta)
> grafica_interacciones = IAPlot(experimento_respuesta)
> # Análisis de regresión para A*B
> modelo_a_b = lm(Alcohol_obtenido ~ (A * B), data = datos)
> summary(modelo_a_b)
Call:
[Link](formula = Alcohol_obtenido ~ (A * B), data = datos)
Residuals:
Min 1Q Median 3Q Max
-6.9750 -2.3250 -0.0875 2.6125 8.0250
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.750 1.149 21.544 5.84e-11 ***
A -6.013 1.149 -5.234 0.00021 ***
B -1.238 1.149 -1.077 0.30256
A:B 2.475 1.149 2.154 0.05223 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.595 on 12 degrees of freedom
Multiple R-squared: 0.7345, Adjusted R-squared: 0.6681
F-statistic: 11.06 on 3 and 12 DF, p-value: 0.0009029
> anova_a_b = aov(modelo_a_b)
> summary(anova_a_b)
Df Sum Sq Mean Sq F value Pr(>F)
A 1 578.4 578.4 27.392 0.00021 ***
B 1 24.5 24.5 1.160 0.30256
A:B 1 98.0 98.0 4.642 0.05223 .
Residuals 12 253.4 21.1
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> # Análisis de regresión para B*D
> modelo_b_d = lm(Alcohol_obtenido ~ (B * D), data = datos)
> summary(modelo_b_d)
Call:
[Link](formula = Alcohol_obtenido ~ (B * D), data = datos)
Residuals:
Min 1Q Median 3Q Max
-10.750 -6.013 -0.025 5.294 12.675
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.750 2.054 12.051 4.61e-08 ***
B -1.238 2.054 -0.603 0.558
D 1.662 2.054 0.809 0.434
B:D -2.175 2.054 -1.059 0.310
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 8.215 on 12 degrees of freedom
Multiple R-squared: 0.1513, Adjusted R-squared: -0.06084
F-statistic: 0.7133 on 3 and 12 DF, p-value: 0.5627
> anova_b_d = aov(modelo_b_d)
> summary(anova_b_d)
Df Sum Sq Mean Sq F value Pr(>F)
B 1 24.5 24.50 0.363 0.558
D 1 44.2 44.22 0.655 0.434
B:D 1 75.7 75.69 1.121 0.310
Coefficients:
Residuals 12 809.9 67.49
> # Análisis de regresión para C*E
> modelo_c_e = lm(Alcohol_obtenido ~ (C * E), data = datos)
> summary(modelo_c_e)
Call:
[Link](formula = Alcohol_obtenido ~ (C * E), data = datos)
Residuals:
Min 1Q Median 3Q Max
-12.850 -3.125 0.000 2.800 12.850
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.750 2.073 11.937 5.13e-08 ***
C -1.800 2.073 -0.868 0.402
E -1.487 2.073 -0.717 0.487
C:E 1.612 2.073 0.778 0.452
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 8.294 on 12 degrees of freedom
Multiple R-squared: 0.135, Adjusted R-squared: -0.08123
F-statistic: 0.6244 on 3 and 12 DF, p-value: 0.6128
> anova_c_e = aov(modelo_c_e)
> summary(anova_c_e)
Df Sum Sq Mean Sq F value Pr(>F)
C 1 51.8 51.84 0.754 0.402
E 1 35.4 35.40 0.515 0.487
C:E 1 41.6 41.60 0.605 0.452
Residuals 12 825.5 68.79
# Análisis de regresión para A*D
> modelo_a_d = lm(Alcohol_obtenido ~ (A * D), data = datos)
> summary(modelo_a_d)
Call:
[Link](formula = Alcohol_obtenido ~ (A * D), data = datos)
Residuals:
Min 1Q Median 3Q Max
-8.125 -3.469 0.600 2.150 9.375
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.750 1.299 19.057 2.45e-10 ***
A -6.013 1.299 -4.630 0.00058 ***
D 1.663 1.299 1.280 0.22470
A:D -0.700 1.299 -0.539 0.59975
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5.195 on 12 degrees of freedom
Multiple R-squared: 0.6607, Adjusted R-squared: 0.5758
F-statistic: 7.787 on 3 and 12 DF, p-value: 0.003769
> anova_a_d = aov(modelo_a_d)
> summary(anova_a_d)
Df Sum Sq Mean Sq F value Pr(>F)
A 1 578.4 578.4 21.433 0.00058 ***
D 1 44.2 44.2 1.639 0.22470
A:D 1 7.8 7.8 0.291 0.59975
Residuals 12 323.8 27.0
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> # Análisis de regresión para C*D
> modelo_c_d = lm(Alcohol_obtenido ~ (C * D), data = datos)
> summary(modelo_c_d)
Call:
[Link](formula = Alcohol_obtenido ~ (C * D), data = datos)
Residuals:
Min 1Q Median 3Q Max
-12.325 -5.506 -1.050 4.419 15.175
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.7500 2.0987 11.793 5.87e-08 ***
C -1.8000 2.0987 -0.858 0.408
D 1.6625 2.0987 0.792 0.444
C:D 0.8875 2.0987 0.423 0.680
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 8.395 on 12 degrees of freedom
Multiple R-squared: 0.1139, Adjusted R-squared: -0.1077
F-statistic: 0.514 on 3 and 12 DF, p-value: 0.6803
> anova_c_d = aov(modelo_c_d)
> summary(anova_c_d)
Df Sum Sq Mean Sq F value Pr(>F)
C 1 51.8 51.84 0.736 0.408
D 1 44.2 44.22 0.628 0.444
C:D 1 12.6 12.60 0.179 0.680
Residuals 12 845.6 70.47
Figura 68
Gráfico para el alcohol isoamílico
INTERPRETACION:
Los puntos en el gráfico representan los efectos de los factores y sus interacciones en la
respuesta (Alcohol_obtenido). Los efectos que se desvían más de la línea ajustada (normal
scores) son considerados significativos. En este caso, parece que el factor A tiene un efecto
significativo negativo, ya que se encuentra lejos de la mayoría de los puntos y cerca del -10 en la
escala de efectos.
Figura 69
Main effects plot for datos alcohol obtenido
INTERPRETACION:
Cada panel muestra un factor diferente:
A: El alcohol obtenido disminuye significativamente cuando A pasa de -1 a 1, lo que
indica que el factor A tiene un impacto negativo significativo.
B, C, D y E: Estos factores parecen tener menos impacto en la respuesta ya que las líneas
son casi horizontales, indicando que cambiar sus niveles no tiene un efecto significativo en el
alcohol obtenido.
Figura 70
INTERPRETACION:
Cada panel muestra la interacción entre dos factores diferentes:
A con B, C, D, E: El factor A parece tener una interacción visible con varios factores,
pero especialmente con B, ya que la línea no es paralela.
B con C, D, E: El factor B muestra algunas interacciones con C y D, pero estas no
parecen ser muy significativas.
C con D, E: Las interacciones entre C y D/E parecen ser menos significativas, ya que las
líneas son casi paralelas.
D con E: Similarmente, la interacción entre D y E no parece ser significativa.
XIII. DISEÑO DE MEZCLAS:
Los experimentos de mezclas son una clase especial de experimentos de superficie de
respuesta en los que el producto objeto de investigación se compone de varios componentes o
ingredientes. Los diseños para estos experimentos resultan útiles, porque muchas actividades de
diseño y desarrollo de productos en situaciones industriales implican fórmulas o mezclas. En el
experimento de mezclas más simple, la respuesta (la calidad o rendimiento del producto con base
en cierto criterio) depende de las proporciones relativas de los componentes (ingredientes) Las
cantidades de los componentes, medidas en peso, volumen o alguna otra unidad, suman un total
común Por el contrario, en un diseño factorial, la respuesta varía dependiendo de la cantidad de
cada factor (Rodríguez, 2023).
Pasos para realizar el diseño de mezcla
Paso 1: Instalar y cargar los paquetes necesarios
Necesitarás los paquetes mixexp y rsm. Instálalos y cárgalos usando el siguiente código:
[Link]("mixexp")
[Link]("rsm")
library(mixexp)
library(rsm)
Paso 2: Definir los componentes y restricciones de la mezcla
Define los componentes de tu mezcla y las restricciones. Por ejemplo, si tienes tres
componentes A, B y C con restricciones de 0 a 1 para cada uno, y la suma total debe ser igual a
1:
components <- c("A", "B", "C")
restrictions <- rbind(c(0, 1), c(0, 1), c(0, 1)) # min y max para A,
B, C
Paso 3: Crear el diseño de mezclas
Utiliza la función SCD del paquete mixexp para crear el diseño simple:
design <- SCD(components, restrictions)
print(design)
Paso 4: Generar los puntos de mezcla
Usa la función cd2sd para convertir las coordenadas de diseño a proporciones de mezcla:
mixture_points <- cd2sd(design)
print(mixture_points)
Paso 5: Definir la respuesta
En un experimento de diseño de mezclas, medirás una respuesta (output) para cada
combinación de componentes. Supongamos que has medido la respuesta para cada mezcla:
response <- c(10, 20, 15, 25, 18) # Ejemplo de respuestas medidas
Paso 6: Ajustar un modelo
Ajusta un modelo de regresión utilizando la función rsm del paquete rsm:
model <- rsm(response ~ SO(A, B, C), data = [Link](mixture_points))
summary(model)
Paso 7: Analizar el modelo
Una vez ajustado el modelo, puedes analizarlo para interpretar los efectos de los
componentes:
# Ver los coeficientes del modelo
print(coef(model))
# Ver la tabla de ANOVA
anova(model)
Paso 8: Visualizar los resultados
Puedes crear gráficos para visualizar los resultados y la superficie de respuesta:
# Gráfico de contorno
contour(model, ~ A + B + C)
# Gráfico de superficie de respuesta
persp(model, ~ A + B + C, col = "lightblue", theta = 30, phi = 30)
Paso 9: Optimización
Si deseas encontrar la combinación óptima de componentes, puedes usar funciones de
optimización:
# Optimización usando el paquete rsm
opt <- optim(model, control = list(trace = 1))
print(opt)
= 30, phi = 30)
Ejercicio:
> # Instalar el paquete mixexp si no está instalado
> if (!requireNamespace("mixexp", quietly = TRUE)) {
+ [Link]("mixexp")
+}
> # Cargar las bibliotecas necesarias
> library(mixexp)
> library(readxl)
> # Definición del diseño de mezcla
> # SLD para 3 factores (agua, detergente, fragancia) cada uno con 3
niveles
> des <- SLD(3, 3)
> DesignPoints(des) # Visualizar el diseño
> # Supongamos que tenemos los siguientes datos de un experimento
> # Para el ejemplo, creamos un dataframe de ejemplo
> fatind <- [Link](
+ agua = c(0.5, 0.3, 0.2, 0.0, 0.5, 0.2, 0.3, 0.0),
+ detergente = c(0.3, 0.5, 0.2, 0.0, 0.3, 0.5, 0.2, 0.0),
+ fragancia = c(0.2, 0.2, 0.6, 1.0, 0.2, 0.3, 0.5, 0.0),
+ eficacia = c(80, 90, 70, 60, 85, 95, 75, 50)
+)
> # Ajustar un modelo de mezcla de grado 1
> ajuste1 <- MixModel(fatind, "eficacia", c("agua", "detergente", "fragancia"), 1)
coefficients [Link] [Link] Prob
agua 52.84131 3.895298 13.56541 3.901038e-05
detergente 133.21688 6.469344 20.59202 4.999163e-06
fragancia 60.01410 3.662552 16.38587 1.544473e-05
Residual standard error: 4.264818 on 5 degrees of freedom
Corrected Multiple R-squared: 0.943927
> # Resumen de los coeficientes
> summary(ajuste1)
Call:
lm(formula = mixmodnI, data = frame)
Residuals:
> plot(fatind$agua, ajuste1$residuals, main="Residuales vs Agua",
xlab="Agua", ylab="Residuales")
> plot(fatind$detergente, ajuste1$residuals, main="Residuales vs
Detergente", xlab="Detergente", ylab="Residuales")
> plot(fatind$fragancia, ajuste1$residuals, main="Residuales vs
Fragancia", xlab="Fragancia", ylab="Residuales")
> # Verificar la relación entre los componentes y la eficacia
> MixturePlot(x=fatind$agua, y=fatind$detergente, z=fatind$fragancia,
w=fatind$eficacia, mod=1)
# Ajustar un modelo de mezcla de grado 2
> ajuste2 <- MixModel(fatind, "eficacia", c("agua", "detergente",
"fragancia"), 2)
coefficients [Link] [Link] Prob
agua 50.223018 4.933756 10.17946900 0.009513010
detergente 103.715195 97.404352 1.06479016 0.398507926
fragancia 59.467234 4.917778 12.09229817 0.006769473
detergente:agua 78.079868 195.929145 0.39851074 0.728773114
fragancia:agua 2.234076 143.643084 0.01555297 0.989003058
detergente:fragancia 27.845480 259.320091 0.10737880 0.924289648
Residual standard error: 4.937144 on 2 degrees of freedom
Corrected Multiple R-squared: 0.9699417
> # Resumen de los coeficientes del modelo de grado 2
> summary(ajuste2)
Call:
lm(formula = mixmodnI, data = frame)
Residuals:
1 2 3 4 5 6 7
-2.500e+00 1.421e-14 2.121e-14 -3.136e-15 2.500e+00 -1.638e-14 -1.321e-14
5.000e+01
Coefficients:
Estimate Std. Error t value Pr(>|t|)
agua 212.55 956.22 0.222 0.845
detergente 287.08 1286.15 0.223 0.844
fragancia 60.00 35.44 1.693 0.233
agua:detergente -662.04 4578.34 -0.145 0.898
agua:fragancia -71.76 1119.43 -0.064 0.955
detergente:fragancia -256.94 2505.28 -0.103 0.928
Residual standard error: 35.44 on 2 degrees of freedom
Multiple R-squared: 0.947, Adjusted R-squared: 0.7879
F-statistic: 5.952 on 6 and 2 DF, p-value: 0.1508
aficar el modelo de grado 2
> MixturePlot(x=fatind$agua, y=fatind$detergente, z=fatind$fragancia,
w=fatind$eficacia, mod=2)
> # Análisis final
> fatind <- [Link](fatind)
> plot(fatind$agua, fatind$eficacia, main="Relación Agua vs Eficacia",
xlab="Agua", ylab="Eficacia")
> plot(fatind$detergente, fatind$eficacia, main="Relación Detergente vs
Eficacia", xlab="Detergente", ylab="Eficacia")
> plot(fatind$fragancia, fatind$eficacia, main="Relación Fragancia vs
Eficacia", xlab="Fragancia", ylab
Figura 71
“Gráfica de Composición de Mezcla: Fracciones de Componentes (x1, x2, x3)“
Interpretación:
El coeficiente de determinación 𝑅2=0.9402 indica un ajuste muy bueno del modelo
cuadrático a los datos, significativamente mejor que el obtenido con un modelo lineal. Esto sugiere
que el modelo cuadrático explica de manera efectiva la variabilidad observada en los datos.
Todos los factores tienen valores de p<0.05, lo que indica que cada uno de ellos influye
significativamente en la respuesta (en este caso, la textura de la galleta). Específicamente, la
interacción entre los factores A y B tiene un valor de p=0.0157<0.05, lo que indica que esta
interacción tiene un efecto significativo en la textura de la galleta.
En contraste, las interacciones AC y BC tienen valores de p>0.05, lo que sugiere que no
tienen un efecto significativo en la respuesta.
En resumen, el modelo cuadrático proporciona un ajuste robusto a los datos, con factores que
individualmente y en interacción influyen en la textura de la galleta, destacando especialmente la
interacción entre los factores A y B.
Figura 72
Gráfica de Efecto (Dirección Piepel)
Interpretación:
La gráfica de trazabilidad revela cómo los diferentes tipos de carne de pescado afectan de
manera independiente los valores de predicción de la textura. Para incrementar la textura, se
recomienda aumentar la proporción de carne de Lisa, mientras que para reducir los valores de
textura, se sugiere aumentar la proporción de carne de Sargo.
Figura 73
“Gráfica de Superficie de Respuesta: Eficacia en Función de las Fracciones de
Componentes”
Interpretación:
La línea que 2.0 hacia arriba indica la zona más óptima para tener una galleta con una
máxima textura. Se necesita agregar más carne de Lisa y menos carne de Sargo. Mientras que la
carne de Corvina no influye significativamente.
XIV. DISEÑO PLACKETT-BURMAN
Los diseños Plackett-Burman son diseños experimentales presentados en 1946 por Robin
L. Plackett y J. P. Burman mientras trabajaban en el Ministerio de Suministros británico.
(PLACKETT y BURMAN 1946). Cuando el número de factores es bastante grande, la
restricción de que el número de experimentos debe ser igual a una potencia de 2 puede ser
bastante restrictiva. Por ejemplo, un diseño factorial de 10 factores y 2 niveles requeriría 210
experimentos. Con el diseño de Plackett-Burman el número de experimentos requeridos es el
primer múltiplo de 4 mayor que el número de factores. ¡En este caso, por lo tanto, sólo tendrías
12 experimentos!. El número de factores totales será N−1, con norte el número de experimentos.
Los factores adicionales se consideran variables ficticias, útiles para estimar la importancia de
los factores reales. (Doehlert, 2020)
Figura 74
Factores
Fuente: RPubs by RStudio
Figura 75
Factores Independientes
Fuente: Fuente: RPubs by RStudio
Pasos para realizar el diseño de Plackett-Burman
Paso 1: Instalar y cargar los paquetes necesarios
Primero, instala y carga los paquetes [Link] y FrF2 (que contiene funciones para
diseños factoriales y de cribado, incluyendo Plackett-Burman).
[Link]("[Link]")
[Link]("FrF2")
library([Link])
library(FrF2)
Paso 2: Crear el diseño Plackett-Burman
Define el número de factores para tu experimento. Supongamos que tienes 11 factores:
# Crear un diseño Plackett-Burman con 11 factores
pb_design <- pb(12, [Link] = c("A", "B", "C", "D", "E",
"F", "G", "H", "I", "J", "K"))
print(pb_design)
Paso 3: Asignar las respuestas
Después de realizar el experimento, debes asignar las respuestas obtenidas a las corridas.
Supongamos que tienes las siguientes respuestas:
# Ejemplo de respuestas medidas
responses <- c(45, 50, 55, 60, 53, 58, 47, 52, 49, 54, 51, 56)
pb_design$response <- responses
Paso 4: Ajustar un modelo lineal
Utiliza la función lm para ajustar un modelo lineal a los datos:
# Ajustar el modelo lineal
model <- lm(response ~ ., data = pb_design)
summary(model)print(pb_design)
Paso 5: Analizar el modelo
Analiza los resultados del modelo para interpretar los efectos de los factores:
# Ver los coeficientes del modelo
print(coef(model))
# Ver la tabla de ANOVA
anova(model)
Paso 6: Visualizar los resultados
Puedes usar gráficos para visualizar los efectos principales de los factores:
# Efectos principales
library(ggplot2)
effects <- coef(model)[-1] # Excluir el intercepto
effects_df <- [Link](Factor = names(effects), Effect = effects)
ggplot(effects_df, aes(x = reorder(Factor, Effect), y = Effect)) +
EJEMPLO:
Aplicación de diseño Plackett-Burman para el estudio de la calidad sensorial de
mortadelas.
design<-PBDes(nruns = 12, nfactors = 7, randomize=FALSE)
design
## A B C D E F G
## 1 1 1 -1 1 1 1 -1
## 2 -1 1 1 -1 1 1 1
## 3 1 -1 1 1 -1 1 1
## 4 -1 1 -1 1 1 -1 1
## 5 -1 -1 1 -1 1 1 -1
## 6 -1 -1 -1 1 -1 1 1
## 7 1 -1 -1 -1 1 -1 1
## 8 1 1 -1 -1 -1 1 -1
## 9 1 1 1 -1 -1 -1 1
## 10 -1 1 1 1 -1 -1 -1
## 11 1 -1 1 1 1 -1 -1
## 12 -1 -1 -1 -1 -1 -1 -1
Código en Rstudio
> # Definir los vectores
> x1 <- c(1, -1, 1, -1, 1, -1, 1, -1)
> x2 <- c(1, 1, -1, -1, 1, 1, -1, -1)
> x3 <- c(1, -1, -1, 1, 1, -1, -1, 1)
> x4 <- c(1, 1, 1, 1, -1, -1, -1, -1)
> x5 <- c(1, -1, 1, -1, -1, 1, -1, 1)
> x6 <- c(1, 1, -1, -1, -1, -1, 1, 1)
> x7 <- c(1, -1, -1, 1, -1, 1, 1, -1)
> y <- c(0.673, 0.382, 0.316, 0.495, 0.453, 0.459, 0.274, 0.215)
> # Crear el data frame
> calidad <- [Link](x1, x2, x3, x4, x5, x6, x7, y)
> # Elaboración del modelo
> modelo <- lm(y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 - 1, data = calidad)
> # Resumen del modelo
> summary(modelo)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 - 1, data = calidad)
Residuals:
1 2 3 4 5 6 7 8
0.4084 0.4084 0.4084 0.4084 0.4084 0.4084 0.4084 0.4084
Coefficients:
Estimate Std. Error t value Pr(>|t|)
x1 0.020625 0.408375 0.051 0.968
x2 0.083375 0.408375 0.204 0.872
x3 0.050625 0.408375 0.124 0.921
x4 0.058125 0.408375 0.142 0.910
x5 0.007375 0.408375 0.018 0.989
x6 -0.022375 0.408375 -0.055 0.965
x7 0.066875 0.408375 0.164 0.897
Residual standard error: 1.155 on 1 degrees of freedom
Multiple R-squared: 0.0991, Adjusted R-squared: -6.207
F-statistic: 0.01571 on 7 and 1 DF, p-value: 0.9999
> #COEFICIENTES
> coeficientes<-coef(modelo)
> coeficientes
x1 x2 x3 x4 x5 x6 x7
0.020625 0.083375 0.050625 0.058125 0.007375 -0.022375 0.066875
> #ANOVA
> anova(modelo)
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
x1 1 0.00340 0.00340 0.0026 0.9679
x2 1 0.05561 0.05561 0.0417 0.8718
x3 1 0.02050 0.02050 0.0154 0.9215
x4 1 0.02703 0.02703 0.0203 0.9100
x5 1 0.00044 0.00044 0.0003 0.9885
x6 1 0.00401 0.00401 0.0030 0.9652
x7 1 0.03578 0.03578 0.0268 0.8967
Residuals 1 1.33416 1.33416
> # Instalar y cargar el paquete faraway si no está instalado
> if (!require(faraway)) {
+ [Link]("faraway")
+}
> library(faraway)
> # Coeficientes del modelo
> coeficientes1 <- c(0.020625, 0.083375, 0.050625, 0.058125,
+ 0.007375, -0.022375, 0.066875)
> # Crear el gráfico de medio normal
> halfnorm(coeficientes1, labs = c("x1", "x2", "x3", "x4", "x5", "x6",
"x7"))
> # Añadir la línea de referencia
> abline(0, 1, col = "red")
> # Instalar y cargar el paquete qcc si no está instalado
+ [Link]("qcc")
+}
> library(qcc)
> # Datos de los valores F
> f_values <- c(0.0026, 0.0417, 0.0154, 0.0203, 0.0003, 0.0030, 0.0268)
> names(f_values) <- c("X1", "X2", "X3", "X4", "X5", "X6", "X7")
> # Diagrama de Pareto
> [Link](f_values, main = "Diagrama de Pareto", ylab = "F Value", col =
"darkblue")
Pareto chart analysis for f_values
Frequency [Link]. Percentage [Link].
X2 0.0417000 0.0417000 37.8746594 37.8746594
X7 0.0268000 0.0685000 24.3415077 62.2161671
X4 0.0203000 0.0888000 18.4377838 80.6539510
X3 0.0154000 0.1042000 13.9872843 94.6412352
X6 0.0030000 0.1072000 2.7247956 97.3660309
X1 0.0026000 0.1098000 2.3614896 99.7275204
X5 0.0003000 0.1101000 0.2724796 100.0000000
Figura 76
"Gráfico de Medio Normal de los Coeficientes del Modelo de Regresión"
INTERPRETACIÓN:
Los factores X3 (Hielo), X4(Almidón de papa), X7(Tiempo de escaldado), X2(Grasa de
pollo) se encuentran alejados de los demás factores, lo que indica que tienen un efecto
significativo en la calidad sensorial de la mortadela.
Figura 77
“Diagrama de Pareto “
INTERPRETACIÓN:
La calidad sensorial de la mortadela se ve más afectada por la grasa de pollo (X2) con un
16%, seguida del tiempo de escaldado (X7) con un 13%, el almidón de papa (X4) con un 11.6%
y, en último lugar, el hielo (X3) con un 10%. Por otro lado, el factor que tiene menos influencia
es la harina de trigo (X5) con solo un 1.4%.
XV. DISEÑO DE TAGUCHI
La metodología de Taguchi inicia considerando diseños experimentales del tipo
exploratorio, esto es, diseños de primer orden. Estos diseños tienen como característica que las
combinaciones de los niveles de los factores son realizadas de manera que las estimaciones de
las “constantes” del polinomio que aproxima la relación entre la variable de respuesta y las
variables controladas, son “independientes” y pueden ser calculadas sin necesidad de un
programa computacional. (HERNÁNDEZ, 2019)
Un diseño de Taguchi es un experimento diseñado que permite elegir un producto o
proceso que funciona con mayor consistencia en el entorno operativo. (Palacios, 2019)
Diseño robusto experimento en el que se consideran actores de ruido, con respecto a los
cuales se quiere logra h proceso o producto robusto
Robustez, es hacer un producto o proceso insensible o resistente a factores de ruido que
no son controlables.
XV.1. Diseño Ortogonal
Taguchi
Incluye diseños de 2 niveles, diseños de 3 niveles,
Catálogos de diseños de
Taguchi diseños de 4 niveles, diseños de 5 niveles y diseños de
L4 (23) niveles mixtos.
L8 (27 ¿ L{corridas) = número de corridas
L8 (24 ), (4 1)
(niveles ^ factores) = número de niveles para cada
4
L9(3 ) factor ^ número de factores
11
L12(2 )
Por ejemplo, un diseño L8 tiene 8 corridas. (2")
L16 (215)
significa 7 factores en 2 niveles.
12 1
L16 (2 ,( 4 )
Si su notajón es L(corridas) (número A exponente
L16 (29) (4 2)
número ^ exponente), usted tiene un diseño de niveles
L16(26, 4 3)
combinados. Por ejemplo, un L18 (2^1 3^7) significa que
L18 (21),( 37 ¿
el diseño tiene 18 corridas, 1 factor con 2 niveles y 7
factores con 3 niveles.
Ejemplo:
En una empresa que elabora harinas preparadas para pasteles se quiere introducir una
nueva mezcla en el mercado. Interesa diseñar la mezcla de tal manera que sea robusta al hecho
de que el cliente no se apegue del todo a las instrucciones en la caja. En particular, preocupan las
variables de ruido, temperatura (T ) y tiempo de horneado (t). Los factores de diseño son la
cantidad de harina (H), de azúcar (A) y de huevo (E ). La variable de respuesta es una evaluación
subjetiva de los pasteles mediante un panel de jueces usando una escala hedónica de uno a siete.
El diseño robusto empleado y los resultados obtenidos se muestran en la siguiente tabla.
Figura 78
Tabla de datos
a) Complete la tabla considerando que la variable es del tipo mientras más grande mejor.
b) Analice las señales/ruido de Taguchi y −10log(S2)−10log(S2). Comente las diferencias
observadas entre los dos análisis.
c) ¿Hay algún efecto significativo en los ANOVA?
> # Cargar la librería necesaria
> library(printr)
> # Crear el dataframe con los datos proporcionados
> datos <- [Link](
+ H = c(0, -1, 1, -1, 1, -1, 1, -1, 1),
+ A = c(0, -1, -1, 1, 1, -1, -1, 1, 1),
+ E = c(0, -1, -1, -1, -1, 1, 1, 1, 1),
+ X1 = c(6.7, 3.1, 3.2, 5.3, 4.1, 5.9, 6.9, 3, 4.5),
+ X2 = c(3.4, 1.1, 3.8, 3.7, 4.5, 4.2, 5, 3.1, 3.9),
+ X3 = c(5.4, 5.7, 4.9, 5.1, 6.4, 6.8, 6, 6.3, 5.5),
+ X4 = c(4.1, 6.4, 4.3, 6.7, 5.8, 6.5, 5.9, 6.4, 5),
+ X5 = c(3.8, 1.3, 2.1, 2.9, 5.2, 3.5, 5.7, 3, 5.44)
+)
> # Mostrar la estructura del dataframe
> str(datos)
'[Link]': 9 obs. of 8 variables:
$ H : num 0 -1 1 -1 1 -1 1 -1 1
$ A : num 0 -1 -1 1 1 -1 -1 1 1
$ E : num 0 -1 -1 -1 -1 1 1 1 1
$ X1: num 6.7 3.1 3.2 5.3 4.1 5.9 6.9 3 4.5
$ X2: num 3.4 1.1 3.8 3.7 4.5 4.2 5 3.1 3.9
$ X3: num 5.4 5.7 4.9 5.1 6.4 6.8 6 6.3 5.5
$ X4: num 4.1 6.4 4.3 6.7 5.8 6.5 5.9 6.4 5
$ X5: num 3.8 1.3 2.1 2.9 5.2 3.5 5.7 3 5.44
> # Visualizar el dataframe
> View(datos)
> # Mostrar las primeras 9 filas
> head(datos, n = 9)
H A E X1 X2 X3 X4 X5
1 0 0 0 6.7 3.4 5.4 4.1 3.80
2 -1 -1 -1 3.1 1.1 5.7 6.4 1.30
3 1 -1 -1 3.2 3.8 4.9 4.3 2.10
4 -1 1 -1 5.3 3.7 5.1 6.7 2.90
5 1 1 -1 4.1 4.5 6.4 5.8 5.20
6 -1 -1 1 5.9 4.2 6.8 6.5 3.50
7 1 -1 1 6.9 5.0 6.0 5.9 5.70
8 -1 1 1 3.0 3.1 6.3 6.4 3.00
9 1 1 1 4.5 3.9 5.5 5.0 5.44
> #b) Complete la tabla considerando que la variable es del tipo mientras más
grande mejor.
> # Convertir datos a matriz
> info = [Link](datos[2:9, 4:8])
> # Función para calcular la media de cada fila de la matriz
> media = function(matriz) {
+ prom = rep(NA, nrow(matriz))
+ for (i in 1:nrow(matriz)) {
+ prom[i] = mean(matriz[i, ])
+ }
+ prom[]
+}
> # Calcular la media de cada fila de la matriz
> r_media = media(matriz = info)
> head(r_media, n = 9L)
[1] 3.520 3.660 4.740 5.200 5.380 5.900 4.360 4.868
> # Función para calcular la varianza de cada fila de la matriz
> varianza = function(matriz) {
+ v = rep(NA, nrow(matriz))
+ for (i in 1:nrow(matriz)) {
+ v[i] = var(matriz[i, ])
+ }
+ v[]
+}
> # Calcular la varianza de cada fila de la matriz
> r_varianza = varianza(matriz = info)
> r_desv_est = sqrt(varianza(matriz = info))
> head(r_desv_est, n = 9L)
[1] 2.4498980 1.0737784 1.4791890 0.9354143 1.4549914 0.6819091
1.8174157
[8] 0.6738843
> # Función para calcular la relación señal-ruido basada en el promedio
geométrico
> signal_noise_gm = function(matriz) {
+ sn = rep(NA, nrow(matriz))
+ for (i in 1:nrow(matriz)) {
+ sn[i] = -10 * log((sum(1 / matriz[i, ]^2)), base = 10)
+ }
+ sn[]
+}
> # Calcular la relación señal-ruido basada en el promedio geométrico
> r_signal_noise_gm = signal_noise_gm(matriz = info)
> head(r_signal_noise_gm, n = 9L)
[1] -1.979455 3.103375 5.401925 6.989832 6.729594 8.288944 4.249394
[8] 6.536903
> #c) Analice las señales/ruido de Taguchi y –10log(S2). Comente las
diferencias observadas entre los dos análisis.
> # Función para calcular la relación señal-ruido basada en la varianza
> signal_noise = function(matriz) {
+ sn = rep(NA, nrow(matriz))
+ for (i in 1:nrow(matriz)) {
+ sn[i] = -10 * log((var(matriz[i, ])), base = 10)
+ }
+ sn[]
+}
> # Calcular la relación señal-ruido basada en la varianza
> r_signal_noise = signal_noise(matriz = info)
> head(r_signal_noise, n = 9L)
[1] -7.7829599 -0.6182931 -3.4004732 0.5799195 -3.2572086 3.3254705 -
5.1890857
[8] 3.4282937
> #d) ¿Hay algún efecto significativo en los ANOVA?
> # Ajustar un modelo lineal para la relación señal-ruido respecto a las variables
de diseño
> modelo_sr = lm(r_signal_noise_gm ~ (datos[2:9, 1] + datos[2:9, 2] +
datos[2:9, 3]), data = datos)
> anova_individuales = aov(modelo_sr)
> summary(anova_individuales)
Df Sum Sq Mean Sq F value Pr(>F)
datos[2:9, 1] 1 13.83 13.827 1.617 0.272
datos[2:9, 2] 1 6.19 6.187 0.723 0.443
datos[2:9, 3] 1 18.88 18.878 2.207 0.212
Residuals 4 34.21 8.554
> # Crear un diseño factorial fraccionado de 2 niveles con 8 corridas y 3 factores
> experimento = FrF2(nruns = 8, nfactors = 3, [Link] = list(H = c(-1, 1), A
= c(-1, 1), E = c(-1, 1)), replications = 1, randomize = FALSE)
> # Añadir las respuestas de la relación señal-ruido al diseño experimental
> experimento_resp = [Link](design = experimento, response =
r_signal_noise_gm)
> # Generar un gráfico de Daniel para analizar la importancia de los efectos
> graf_daniel = DanielPlot(experimento_resp, main = "Gráfico de Daniel para el
estadístico S/R")
> # Crear un gráfico de efectos principales
> efectos_principales = MEPlot(experimento_resp, main = "Efectos principales
para el experimento")
> head(efectos_principales)
H A E
- 3.600364 4.035615 3.378919
+ 6.229764 5.794513 6.451209
> # Crear un gráfico de interacciones
> efectos_interaccion = IAPlot(experimento_resp, main = "Gráfica de
interacciones para el experimento")
> head(efectos_interaccion)
H:A H:E A:E
-:- 2.375069 1.711235 0.5619602
+:- 5.696160 5.046604 6.1958781
-:+ 4.825659 5.489494 7.5092691
+:+ 6.763367 7.412924 5.3931487
# Ajustar un modelo lineal con interacción para la relación señal-ruido respecto
a las variables de diseño
> modelo_sr_inter = lm(r_signal_noise_gm ~ (datos[2:9, 2] * datos[2:9, 3]),
data = datos)
> anova_int_ce = aov(modelo_sr_inter)
> summary(anova_int_ce)
Df Sum Sq Mean Sq F value Pr(>F)
datos[2:9, 2] 1 6.187 6.187 1.374 0.3061
datos[2:9, 3] 1 18.878 18.878 4.193 0.1100
datos[2:9, 2]:datos[2:9, 3] 1 30.032 30.032 6.670 0.0612 .
Residuals 4 18.010 4.503
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Figura 79
“tabla ANOVA”
INTERPRETACIÓN:
En base a los resultados arrojados por la tabla ANOVA, se puede concluir con un nivel
de confianza del 95% que los factores individuales no tienen un efecto significativo en la
variable de respuesta razón señal ruido. Dicho resultado se puede corroborar con el “Gráfico de
Daniel para el estadístico S/R”.
Figura 80
“Efectos de los Factores en la Relación Señal-Ruido: Gráfico de Daniel”
INTERPRETACION
Ejes del Gráfico:
Eje X (Effects): Representa los efectos de los factores en la relación señal-ruido. Un
efecto positivo indica que el factor mejora la respuesta, mientras que un efecto negativo sugiere
que la respuesta se deteriora.
Eje Y (Normal Scores): Muestra los puntajes normales, que son transformaciones de los
valores de la relación señal-ruido. Esto ayuda a identificar si los efectos son significativos.
Puntos en el Gráfico:
Cada asterisco (*) en el gráfico representa un efecto de uno de los factores (H, A, E). La
posición de cada punto indica la magnitud y dirección del efecto en la relación S/R.
Los puntos que están más alejados del centro (en el eje Y) indican efectos más
significativos.
Análisis de Resultados:
Si observas que algunos puntos están significativamente alejados de la línea central, esto
sugiere que esos factores tienen un efecto considerable en la relación señal-ruido. En el gráfico,
parece que hay varios puntos que están en el lado positivo del eje X, lo que indica que esos
factores tienden a mejorar la relación S/R.
Si todos los puntos están cerca de la línea central, esto podría indicar que no hay efectos
significativos de los factores en la relación S/R.
Figura 81
"Efectos Principales de los Factores H, A y E en la Relación Señal-Ruido"
INTERPRETACIÓN
Ejes del Gráfico:
Ejes X e Y: Similar a la gráfica anterior, donde los ejes representan los niveles de los
factores (H, A, E) y la relación señal-ruido (S/R), respectivamente.
Cada celda representa la interacción entre dos factores, con el tercer factor
manteniéndose constante.
Puntos y Líneas:
Los puntos rojos (●) indican los valores promedio de la relación S/R para las
combinaciones de niveles de los factores.
Las líneas conectan estos puntos, mostrando la tendencia de la relación S/R a medida que
se cambian los niveles de los factores.
Análisis de Resultados:
Interacción entre H y A: La línea muestra que al aumentar H, la relación S/R mejora, y
esto se mantiene independientemente del nivel de A. Esto sugiere que H tiene un efecto
consistente en la relación S/R.
Interacción entre H y E: Se observa una tendencia similar, donde H sigue mostrando un
efecto positivo, pero la interacción con E parece ser menos pronunciada.
Interacción entre A y E: La línea muestra que el efecto de A sobre la relación S/R es
más variable dependiendo del nivel de E, lo que indica una posible interacción más compleja
entre estos factores.
INTERPRETACIÓN:
Aunque en la tabla ANOVA los factores individuales no hayan tenido efectos
significativo en la variable de respuesta, recordando el Principio de Herencia el cual dice “Para
que un efecto de interacción esté activo, es necesario que al menos uno de los efectos principales
de los factores que lo conforman sea significativo”, el único factor con cierto grado de
significancia es el factor azúcar (A), por lo que se analizó la interacción con el factor huevo (E),
pues en la gráfica de interacciones presenta una interacción aparentemente significativa entre los
dos factores.
INTERPRETACIÓN:
El estudio estadístico llevado a cabo con la tabla ANOVA asegura que no hay
interrelaciones significativas entre los componentes que permitan maximizar el costo del
estadístico señal/ruido, por lo cual se concluye que no hay prueba en la muestra que posibilite
implantar las condiciones robustas de operación del proceso.
XVI. ANÁLISIS DE COMPONENTES PRINCIPALES O PCA
El análisis de componentes principales (principal component analysis) o PCA es una de
las técnicas de aprendizaje no supervisado, las cuales suelen aplicarse como parte del análisis
exploratorio de los datos. A diferencia de los métodos de aprendizaje supervisado, donde
contamos con un grupo de variables o características (X=X1,X2,...,XpX=X1,X2,...,Xp) medidas
sobre un conjunto de observaciones “n”, con la intención de obtener predicciones sobre una
variable respuesta “y” asociada, en los no supervisados solo contamos con un número de
variables de las cuales nos interesa conocer o de las que queremos extraer información, por
ejemplo, sobre la existencia de subgrupos entre las variables u observaciones.
Una de las aplicaciones de PCA es la reducción de dimensionalidad (variables),
perdiendo la menor cantidad de información (varianza) posible: cuando contamos con un gran
número de variables cuantitativas posiblemente correlacionadas (indicativo de existencia de
información redundante), PCA permite reducirlas a un número menor de variables transformadas
(componentes principales) que expliquen gran parte de la variabilidad en los datos. Cada
dimensión o componente principal generada por PCA será una combinación lineal de las
variables originales, y serán además independientes o no correlacionadas entre sí. Las
componentes principales generadas pueden utilizarse a su vez en métodos de aprendizaje
supervisado, como regresión de componentes principales o partial least squares: ver
capítulo Métodos de regularización.
El PCA también sirve como herramienta para la visualización de datos: supóngase que
quisiéramos representar nn observaciones con medidas sobre pp variables
(X=X1,X2,...,XpX=X1,X2,...,Xp) como parte de un análisis exploratorio de los datos. Lo que
podríamos hacer es examinar representaciones bidimensionales, sin embargo, existen un total
de (p2)=p(p−1)/2(p2)=p(p−1)/2 posibles representaciones entre pares de variables, y si el número
de variables es muy alto, estas representaciones se harían inviables, además de que posiblemente
la información contenida en cada una sería solo una pequeña fracción de la información total
contenida en los datos.
El PCA puede considerarse como una rotación de los ejes del sistema de coordenadas
de las variables originales a nuevos ejes ortogonales, de manera que estos ejes coincidan con la
dirección de máxima varianza de los datos.
d2 <- scale(di[,1:4])
rownames(d2) <- di$Species
fviz_nbclust(x = d2, FUNcluster = kmeans, method = "wss", [Link] = 15,
diss = get_dist(d2, method = "euclidean"), nstart = 50)
x|[Link](123)
d2f=[Link](d2)
km_clusters <- kmeans(x = d2f, centers = 3, nstart = 50)
# Las funciones del paquete factoextra emplean el nombre de las filas del
# dataframe que contiene los datos como identificador de las observaciones.
# Esto permite añadir labels a los gráficos.
# Cluster over the three first PCA dimensions
fviz_cluster(object = km_clusters, data = d2f, [Link] = TRUE,
[Link] = "euclid", [Link] = TRUE, repel = TRUE,
pointsize=0.5,[Link]="darkred") +
labs(title = "Resultados clustering K-means") +
theme_bw() + theme([Link] = "none")
require(cluster)
[Link] <- pam(d2f, 3)
# Visualización
fviz_cluster([Link], geom = "point", [Link] = "norm",
[Link] = TRUE,[Link] = TRUE)+
labs(title = "Resultados clustering K-means")+ theme_bw()
data(iris)
# PCA
pca <- prcomp(iris[,-5], scale=TRUE)
[Link] <- pca$x
# Cluster over the three first PCA dimensions
kc <- kmeans([Link][,1:3], 3)
fviz_pca_biplot(pca, label="var", habillage=[Link](kc$cluster)) +
labs(color=NULL) + ggtitle("") +
theme(text = element_text(size = 15),
[Link] = element_blank(),
[Link] = element_blank(),
[Link] = element_blank(),
[Link] = element_line(colour = "black"),
[Link] = element_rect(fill = "white"))
Figura 82
INTERPRETACION:
muestra el número óptimo de clusters para un análisis de clustering K-means. En el eje X
se representan los diferentes valores de 𝑘 (número de clusters), mientras que en el eje Y se
muestra la "Suma Total de Cuadrados Internos" (Total Within Sum of Squares)
Figura 83
INTERPRETACION:
Presenta los resultados del clustering K-means en un espacio de dos dimensiones.
Se pueden ver tres grupos claramente definidos (en rojo, verde y azul).
Las flechas indican la dirección y la fuerza de las variables que contribuyen a la
formación de los clusters.
Cada grupo parece estar bien separado, lo que sugiere que el clustering ha sido efectivo.
Figura 84
INTERPRETACION:
Las elipses representan la dispersión de los datos dentro de cada cluster.
Esto proporciona una visualización adicional de la forma y la variabilidad de cada grupo.
La separación entre los grupos es clara, lo que refuerza la efectividad del método K-
means para estos datos.
Figura 85
INTERPRETACION:
Muestra un análisis de componentes principales (PCA) con los clusters superpuestos.
Los puntos se agrupan en tres colores, correspondientes a los clusters identificados.
Las etiquetas de las variables (Sepal Width y Sepal Length) indican cómo estas
dimensiones influyen en la separación de los clusters.
Los grupos parecen estar bien diferenciados, lo que sugiere que las variables utilizadas en
el clustering son efectivas para distinguir entre las diferentes especies.
XVII. ANALISIS CLUSTER
En RStudio, la clustering es una técnica de análisis de datos que agrupa observaciones
similares en subconjuntos llamados "clusters". El objetivo es que los datos dentro de cada cluster
sean lo más parecidos posible, mientras que los datos entre diferentes clusters sean lo más
diferentes posible.
Hay varios métodos de clustering en R:
1. K-means: Un algoritmo que divide los datos en *k* clusters, donde *k* es un número
predefinido. Los datos se agrupan de manera que la suma de las distancias cuadradas dentro de
cada cluster sea mínima.
2. Clustering jerárquico: Construye una jerarquía de clusters. Puede ser aglomerativo
(comienza con puntos individuales y los agrupa) o divisivo (comienza con todos los puntos en un
solo cluster y los divide).
3. DBSCAN: Un método basado en la densidad que encuentra clusters de puntos
densamente conectados y marca puntos ruidosos o aislados.
En RStudio, puedes usar paquetes como `cluster`, `factoextra`, o `dbscan` para realizar
estos análisis de clustering. Por ejemplo, `kmeans()` es la función para realizar K-means
clustering, y `hclust()` para clustering jerárquico.
library(ggplot2)
library(car)
library(dplyr)
library(factoextra)
library(cluster)
library(simstudy)
library([Link])
library(tidyverse)
library(PerformanceAnalytics)
library(corrr)
x <- c(4, 4.5, 4, 7.5, 7, 6, 5, 5.5, 5, 6)
y <- c(4, 4.5, 4, 7.5, 7, 6, 5, 5.5, 5, 6) + 4
z <- c(5, 5.5, 4.8, 5.4, 4.7, 5.6, 5.3, 5.5, 5.2, 4.8)
datos <- [Link](punto = rep(c("x", "y", "z"), each = 10),
respuesta = c(x,y,z),predictor = 1:10)
datos
ggplot(data = datos, aes(x = [Link](predictor), y = respuesta,
colour = punto)) + geom_path(aes(group = punto)) +
geom_point() + labs(x = "predictor") + theme_bw() +
theme([Link] = "bottom")
x1=matrix(c(x,y))
x2=matrix(c(x,z))
x3=matrix(c(y,z))
sum(dist(x1, method = "euclidean",diag=F,upper=F,p=2),1)
sum(dist(x2, method = "euclidean",diag=F,upper=F,p=2),1)
sum(dist(x3, method = "euclidean",diag=F,upper=F,p=2),1)
R=matrix(c(x,y,z),ncol=3)
dcor=1-cor(R)
dist(x = rbind(x,y,z), method = "euclidean")
dcor <- 1 - cor(x = cbind(x,y,z), method = "pearson")
dcor
INTERPRETACION:
Resultado: 528
Este valor representa la suma total de las distancias euclidianas entre los puntos de las
variables 𝑥 y 𝑦. Un valor alto indica que hay una gran variabilidad o distancia entre los puntos
de estas dos variables.
Resultado: 180.3
Este valor representa la suma total de las distancias euclidianas entre 𝑥 y 𝑧. Es
significativamente más bajo que el anterior, sugiriendo que 𝑥 y 𝑧 están más cerca entre sí en
términos de sus valores.
Resultado: 509.3
Este valor representa la suma total de las distancias euclidianas entre 𝑦 y 𝑧. Es un valor
intermedio, lo que indica que 𝑦 y 𝑧 tienen una distancia considerable, pero no tan grande como
la de 𝑥 y 𝑦.
La
distancia entre 𝑥 y 𝑦 es 12.64911, lo que indica que hay una diferencia considerable entre estas
dos variables.
La distancia entre 𝑥 y 𝑧 es 3.75100, lo que sugiere que 𝑥 y 𝑧están relativamente más
cerca.
La distancia entre 𝑦 y 𝑧es 13.98821, lo que indica que 𝑦 y 𝑧están bastante distantes
entre sí.
Correlación: 𝑥 no está correlacionada con 𝑦, pero tanto 𝑥 como 𝑦 están fuertemente
correlacionadas con 𝑧.
Figura 86
INTERPRETACIÓN:
La variable "y" tiene un comportamiento notablemente más alto en comparación con "x"
y "z" en la mayoría de los puntos.
La variabilidad de "z" sugiere que puede estar influenciada por factores adicionales o que
su relación con el predictor no es tan directa como las otras.
XVIII. CONCLUSION
En este post, exploramos la importancia y diferencias entre R y RStudio, y las ventajas de
trabajar en un Ambiente de Desarrollo Integrado (IDE). Discutimos cómo el uso de código
facilita la comunicación y replicación de análisis, tanto con otros como con nosotros mismos.
Aprendimos a crear proyectos en RStudio, lo cual nos ayuda a organizar nuestro trabajo y
mantener diferentes proyectos aislados.
A su vez vimos cómo R y RStudio ha transformado el análisis estadístico y la
visualización de datos mediante su flexibilidad, capacidad analítica y facilidad de uso. R, un
lenguaje de programación especializado, ofrece una amplia gama de funciones y paquetes que
permiten realizar análisis descriptivos e inferenciales de manera eficiente y precisa. RStudio,
como entorno de desarrollo integrado para R, mejora significativamente la visualización de
datos, facilitando la creación de gráficos personalizables ideales para la interpretación y
comunicación de resultados en publicaciones académicas.
XIX. Bibliografía
Bao, S. F. (12 de Julio de 2020). DISEÑO DE EXPERIMENTOS:. Obtenido de
[Link]
Bosoni, G. B. (2019). RStudio para Estadística Descriptiva en Ciencias Sociales.
Obtenido de [Link]
Doehlert. (12 de Marzo de 2020). Design of Experiment. RPubs by RStudio. Obtenido de
[Link]
GAMARRA, N. E. (2016). Optimización de la cinética. Obtenido de
[Link]
Goicoa, T. (2019). RMarkdown básico. Recuperado el 22 de Marzo de 2019, de
[Link]
basicRmarkdown/[Link]
Goicoechea, H. (06 de Junio de 2019). DISEÑO EXPERIMENTAL . Obtenido de
[Link]
%C3%[Link]
Hernández, A. S. (2020). Estadística Descriptiva con R. Obtenido de [Link]
[Link]/cursoR4ULPGC/[Link]
Hoz, J. D. (2016). Ejemplo de Diseño Completamente al Azar (DCA). Recuperado el
Frebrero de 2016, de [Link]
JD. (05 de Octubre de 2021). RPubs. Obtenido de RPubs:
[Link]
Martínez, C. G. (Setiembre de 2019). METODOLOGÍA DE SUPERFICIE DE
RESPUESTA. Obtenido de [Link]
Ortega, C. (2020). Estadística descriptiva: Qué es, objetivo, tipos y ejemplos. Obtenido
de [Link]
%20estad%C3%ADstica%20descriptiva%20se,o%20de%20toda%20la%20poblaci%C3%B3n.
Palencia Pretelt, A. M. (2023). Análisis estadístico de diseños experimentales con apoyo
computacional.
Rafa. (2019). Instalar paquetes en R. Recuperado el 30 de Agosto de 2019, de
[Link]
Rafael. (2018). Medidas de Tendencia Central. Recuperado el Noviembre de 2018, de
[Link]
Rodríguez, M. D. (30 de Junio de 2023). Design of Experiments with Mixtures and their
Analysis with R. Obtenido de [Link]
mixtures-and-their-analysis-with-r/
Salazar, R. d. (13 de Junio de 2018). Analisis y diseño de experimentos. Obtenido de
[Link]
Solano, H. L. (2021). Software R. Recuperado el 28 de Junio de 2021, de
[Link]
tecnologica, F. (2022). Manual de R. 68. Obtenido de
[Link]
files/practica/2023-03/Manual%[Link]
Vega, J. B. (22 de 2 de 2024). R para principiantes. Obtenido de
[Link]