## Draft position for players in the NBA for the 2020-21 season

When the 2022 NBA draft happened almost a month ago, I thought to myself: do players picked earlier in the draft (i.e. higher-ranked) actually end up having better/longer careers?

If data wasn’t an issue, the way I would do it would be to look at players chosen in the draft lottery (top 60 picks) in the past 10/20 years. For each player, I would look at how many years he played in the NBA and see if there was a correlation between that and draft position. (Here, number of years in the NBA is a proxy for how successful an NBA career is. There are other possible ways to define success, e.g. minutes played, points scored.)

Unfortunately data is an issue, so I ended up looking at a related question: What are the draft positions of players currently in the NBA? If players picked earlier in the draft are more…

View original post 746 more words

## A short note on the startsWith function

The startsWith function comes with base R, and determines whether entries of an input start with a given prefix. (The endsWith function does the same thing but for suffixes.) The following code checks if each of “ant”, “banana” and “balloon” starts with “a”: The second argument (the prefix to check) can also be a vector. […]

A short note on the startsWith function

## SOBRE LOS TENSORES: SU INTERPRETACIÓN CONCEPTUAL

Como señala (Kaplan, 1985, pág. 297), cuando se introducen coordenadas curvilíneas los métodos matriciales ya no resultan adecuados para el análisis de las operaciones vectoriales fundamentales. El análisis deseado se puede llevar a cabo con la ayuda de las estructuras matemáticas conocidas como tensores.

Un vector es una flecha que representa una cantidad con magnitud y dirección, en donde la longitud de la flecha es proporcional a la magnitud del vector y la orientación de la flecha revela la dirección del vector.

También se puede representar con vectores otras cosas, como áreas y volúmenes. Para hacer esto, se debe hacer a la longitud del vector una magnitud proporcional a la magnitud del área a calcular y la dirección del vector debe ser ortogonal a la superficie o región de la cual se desea estimar el área o volumen.

Los vectores base o vectores unitarios (cuando la base del espacio lineal es canónica, es decir, que cada vector que conforma la base está compuesto en su pertinente coordenada por la unidad y en el resto por ceros) tienen longitud 1. Estos vectores son los vectores directores del sistema de coordenadas (porque le dan dirección a cada uno de los ejes del plano, puesto que precisamente cada uno representa un eje).

Para encontrar los componentes de un vector (en el caso de un sistema de tres coordenadas, el componente x, el componente y, el componente z) se proyecta el vector sobre el eje que corresponde al componente a encontrar, por ejemplo, si se desea encontrar el componente x del vector, la proyección se realiza sobre X. Entre mayor sea el ángulo entre un vector y un eje de referencia (X,Y,Z), menor será la magnitud del componente correspondiente a dicho eje (este componente, en este ejemplo, puede ser x, o z); el inverso también es cierto. La magnitud de cualquier vector dentro del plano real o complejo puede determinarse como combinación lineal de los vectores base con el campo de los reales o los complejos, respectivamente. Esto implica que la magnitud de un vector (y por consiguiente de los componentes dentro del mismo, al ser una estructura lineal) puede expresarse como determinada cantidad de vectores unitarios (de longitud 1) de los diferentes ejes de coordenadas, en donde cada componente del vector se expresará unívocamente en una cantidad determinada de vectores unitarios del eje correspondiente a dicho componente.

Para generalizar los resultados anteriores a un vector de vectores A (que entre otras cosas permite agruparlos en una misma estructura matemática -por ello a nivel del programa R los arrays tienen contenido del mismo tipo y relacionado entre sí[1]-), se establece que dicho vector A tendrá los componentes A_X, A_Y, A_Z, que representan a los componentes X, Y y Z, respectivamente. Se requiere establecer un índice para cada vector (el índice es en este caso el subíndice) porque sólo existe un indicador direccional (es decir, un vector base) por componente (porque cada componente se corresponde con su respectivo eje).

Esto es lo que hace a los vectores ser tensores de rango 1, que tienen un índice o un vector base por componente. Bajo la misma lógica, los escalares pueden ser considerados tensores de rango cero, porque los escalares no tienen ningún indicador direccional (son una cantidad con magnitud, pero sin sentido) y, por consiguiente, no necesitan índice.

Los tensores son combinaciones entre componentes auxiliares de naturaleza diversa (parámetros, coeficientes, pendientes, que son en última instancia algún elemento de algún campo escalar o anillo) y componentes centrales (los miembros de la base del espacio vectorial o módulo, que expresan las variables fundamentales del sistema que se describe), que sirven para estimar de forma más robusta (en términos de precisión cuantitativa y especificidad cualitativa) las coordenadas de un sistema de referencia.

El número de índices de cada tensor será igual al número de vectores base por componente (en el caso de los tensores, los componentes y los vectores base no tienen necesariamente una relación uno-a-uno, por lo que a un componente le puede corresponder más de un vector base o vector director del sistema de coordenadas).

Así, los tensores permiten caracterizar completamente todas las fuerzas posibles y todas las regiones posibles sobre las que actúan tales fuerzas.

Los tensores permiten que todos los observadores en todos los sistemas de coordenadas de referencia (marco referencial, de ahora en adelante) puedan estar de acuerdo sobre las coordenadas establecidas. El acuerdo no consiste en un acuerdo sobre los vectores base (que pueden variar de un espacio a otro), tampoco en los componentes (que pueden variar según el campo escalar), sino en las combinaciones entre vectores base y componentes. La razón de lo anterior radica en que al aplicar una transformación sobre los vectores base (para pasar de un sistema referencial a otro de alguna forma equivalente), en el contexto de los tensores, la estructura algebraica resultante tendrá invariablemente una única dirección sin importar el marco referencial; por su parte, al transformar un componente se logran mantener las combinaciones entre componentes y vectores base para todos los observadores (i.e., para todos los marcos referenciales -cada observador está en un marco referencial-).

Por tanto, los tensores expresan matemáticamente (i.e., lógico-formalmente) la unidad a nivel del fenómeno (social o natural) de las fuerzas contrarias entre sí que lo componen, así como también la tensión que implica la lucha de tales fuerzas por imponerse la una a la otra durante el proceso evolutivo del fenómeno estudiado.

Como se señala en (Universidad de Granada, 2022), en el contexto de la estadística aplicada, un array es un tipo de dato estructurado que permite almacenar un conjunto de datos homogéneo, es decir, todos ellos del mismo tipo y relacionados. Cada uno de los elementos que componen un vector pueden ser de tipo simple como caracteres, entero o real, o de tipo compuesto o estructurado como son vectores, estructuras, listas.

A los datos almacenados en un array se les denomina elementos; al número de elementos de un array se les denomina tamaño o rango del vector; este rango puede determinarse de forma equivalente, en el caso de arrays multidimensionales (tensores), a través del número de ejes. Para acceder a los elementos individuales de un array se emplea un índice que será un número entero no negativo que indicará la posición del elemento dentro del array. Para referirse a una posición particular o elemento dentro del array, se especifica el nombre del array y el número de posición del elemento particular dentro del mismo, el índice.

Los arrays en gran parte se definen como las variables ordinarias, excepto en que cada array debe acompañarse de una especificación de tamaño (número de elementos). Para un array unidimensional, el tamaño se especifica con una expresión entera positiva encerrada entre paréntesis cuadrados. La expresión es normalmente una constante entera positiva.

En suma, cada dimensión de un tensor/array multidimensional (que, al ser en sí mismo una estructura de datos con las propiedades usuales de los números, es también un espacio vectorial, específicamente un espacio euclidiano) está compuesta por un número de filas y columnas especificado.

En la mayoría de los casos, los tensores se pueden considerar como matrices anidadas de valores que pueden tener cualquier número de dimensiones. Un tensor con una dimensión se puede considerar como un vector, un tensor con dos dimensiones como una matriz y un tensor con tres dimensiones se puede considerar como un paralelepípedo. El número de dimensiones que tiene un tensor se llama su rango y la longitud en cada dimensión describe su forma. El rango de un tensor es el número de índices necesarios para seleccionar de forma única cada elemento del tensor (TensorFlow, 2022). El rango también se conoce como “orden” o “grado”; como se señaló antes, otra forma de ver los tensores es como arrays multidimensionales (RStudio, 2022).

Como señala (Weisstein, 2022), formalmente hablando el rango de un tensor es el número total de índices contravariantes y covariantes de un tensor, relativos a los vectores contravariantes y covariantes, respectivamente. El rango R de un tensor es independiente del número de dimensiones N del espacio subyacente en el que el tensor se localice. Adicionalmente, se señala en la documentación R sobre el paquete ‘tensor’, que el producto tensorial de dos arrays es teóricamente un producto exterior de tales arrays colapsados en extensiones específicas al sumar a lo largo de las diagonales apropiadas. Por ejemplo, un producto matricial es el producto tensorial a lo largo de la segunda extensión de la primera matriz y la primera extensión de la segunda matriz.

En el modelo de datos multidimensional, los datos se organizan en una jerarquía que representa diferentes niveles de detalles. Un modelo multidimensional visualiza los datos en forma de cubo de datos. Un cubo de datos permite modelar y visualizar datos en múltiples dimensiones. Se define por dimensiones y hechos.

Las dimensiones son las perspectivas o entidades sobre las cuales una organización mantiene registros. Por ejemplo, una tienda puede crear un almacén de datos de ventas para mantener registros de las ventas de la tienda para la dimensión de tiempo, artículo y ubicación. Estas dimensiones permiten registro para realizar un seguimiento de las cosas, por ejemplo, las ventas mensuales de artículos y las ubicaciones en las que se vendieron los artículos. Cada dimensión tiene una tabla relacionada con ella, llamada tabla dimensional, que describe la dimensión con más detalle.

### Referencias

Fleisch, D. A. (2012). What’s a tensor? Recuperado el 26 de Marzo de 2022, de Dan Fleisch: https://www.youtube.com/watch?v=f5liqUk0ZTw

geeksforgeeks. (26 de Marzo de 2022). Multidimensional Arrays in C / C++. Obtenido de geeksforgeeks.org: https://www.geeksforgeeks.org/multidimensional-arrays-c-cpp/

java T point. (Marzo de 25 de 2022). What is Multi-Dimensional Data Model? Obtenido de Data Warehouse: https://www.javatpoint.com/data-warehouse-what-is-multi-dimensional-data-model

Kaplan, W. (1985). CÁLCULO AVANZADO. MÉXICO, D.F.: COMPAÑÍA EDITORIAL CONTINENTAL, S.A. DE C.V., MÉXICO.

Patidar, P. (14 de Diciembre de 2019). Tensors — Representation of Data In Neural Networks. Obtenido de Medium: https://medium.com/mlait/tensors-representation-of-data-in-neural-networks-bbe8a711b93b

Paul, S. (12 de Septiembre de 2018). Investigating Tensors with PyTorch. Obtenido de DataCamp: https://www.datacamp.com/community/tutorials/investigating-tensors-pytorch

RStudio. (25 de Marzo de 2022). Tensors and operations. Obtenido de TensorFlow for R: https://tensorflow.rstudio.com/tutorials/advanced/customization/tensors-operations/

TensorFlow. (25 de Marzo de 2022). tf.rank. Obtenido de TensorFlow Core v2.8.0 : https://www.tensorflow.org/api_docs/python/tf/rank

Universidad de Granada. (25 de Marzo de 2022). Arrays y cadenas. Obtenido de Departamento de Ciencias de la Computación e Inteligencia Artificial de la Universidad de Granada: https://ccia.ugr.es/~jfv/ed1/c/cdrom/cap5/f_cap52.htm.

Weisstein, E. W. (25 de Marzo de 2022). Tensor Rank. Obtenido de MathWorld – A Wolfram Web Resource: https://mathworld.wolfram.com/TensorRank.html

## PREDICTORES CUALITATIVOS E INTERACCIONES EN R: APLICACIONES PARA EL MERCADO DE SEGUROS y LA RESISTENCIA DE MATERIALES

### B. RESISTENCIA DE MATERIALES

Se podría tener interés en vincular un determinado tipo de prueba de resistencia (“trat”) realizada a distintos tipos de tela de algodón de algún peso (“peso”) con la finalidad de determinar su resistencia “resist”. Así, puede construirse un modelo de regresión lineal simple que explique la resistencia “resist” en función del tratamiento aplicado “trat” y, posteriormente, crear un resumen de las variables involucradas en el modelo basado en los niveles del factor “trat” que se creó; en este caso, el resumen consiste en que obtenga la media “mean” de cada uno de los niveles del factor creado.

• Insertar imágenes en R Markdown
• Ajuste a recta de regresión
• Gráfica de recta de regresión
• Análisis descriptivo: residuos vs leverages
• Análisis descriptivo con la sintaxis plot
• Cambios en el nivel de referencia
• Efectos principales y efectos de interacción
• Construcción manual de funciones indicatriz para conjuntos simples

## INTRODUCCIÓN A LOS ENSAYOS CLÍNICOS DESDE LA TEORÍA ESTADÍSTICA Y RSTUDIO: ASOCIACIÓN Y CORRELACIÓN DE PEARSON, SPEARMAN Y KENDALL

###Se utiliza para describir la distribución de una suma de variables aleatorias al cuadrado. También se utiliza para probar la bondad de ajuste de una distribución de datos, si las series de datos son independientes y para estimar las confianzas que rodean la varianza y la desviación estándar de una variable aleatoria de una distribución normal.

### COEFICIENTES DE CORRELACIÓN

###Coeficiente de Correlación de Pearson (prueba paramétrica): https://statistics.laerd.com/statistical-guides/pearson-correlation-coefficient-statistical-guide.php, https://www.wikiwand.com/en/Pearson_correlation_coefficient.

###Coeficiente de Correlación de Spearman (prueba no-paramétrica): https://statistics.laerd.com/statistical-guides/spearmans-rank-order-correlation-statistical-guide.php, https://www.wikiwand.com/en/Spearman%27s_rank_correlation_coefficient, https://www.statstutor.ac.uk/resources/uploaded/spearmans.pdf.

###Coeficiente de Correlación de Kendall (prueba no-paramétrica): https://www.statisticshowto.com/kendalls-tau/, https://towardsdatascience.com/kendall-rank-correlation-explained-dee01d99c535, https://personal.utdallas.edu/~herve/Abdi-KendallCorrelation2007-pretty.pdf, https://www.wikiwand.com/en/Kendall_rank_correlation_coefficient.

####Como se verifica en su forma más general [véase Jeremy M. G. Taylor, Kendall’s and Spearman’s Correlation Coefficient in the Presence of a Blocking Variable, (Biometrics, Vol. 43, No. 2 (Jun., 1987), pp.409-416), p. 409], en presencia de “empates”, conocidos también como “observaciones vinculadas” (del inglés “ties”, que, como se verifica en http://www.statistics4u.com/fundstat_eng/dd_ties.html, significa en el contexto de las estadísticas de clasificación de orden -rank order statistics- la existencia de dos o más observaciones que tienen el mismo valor, por lo que imposibilita la asignación de números de rango únicos), es preferible utilizar el coeficiente de correlación de Spearman rho porque su varianza posee una forma más simple (relacionado con el costo computacional, puesto que la investigación de Jeremy Taylor emplea como herramienta de estadística experimental la metodología Monte Carlo, lo que puede verificarse en https://pdodds.w3.uvm.edu/files/papers/others/1987/taylor1987a.pdf).

### RIESGO RELATIVO

####Como se verifica en https://www.wikiwand.com/en/Odds_ratio, el riesgo relativo (diferente a la razón éxito/fracaso y a la razón de momios) es la proporción de éxito de un evento (o de fracaso) en términos del total de ocurrencias (éxitos más fracasos).

### RAZÓN ÉXITO/FRACASO

####Es el cociente entre el número de veces que ocurre un evento y el número de veces en que no ocurre.

####INTERPRETACIÓN: Para interpretar la razón de ataque/no ataque de forma más intuitiva se debe multiplicar dicha razón Ψ (psi) por el número de decenas necesarias Ξ (Xi) para que la razón tenga un dígito d^*∈N a la izquierda del “punto decimal” (en este caso de aplicación hipotético Ξ=1000), resultando así un escalar real υ=Ψ*Ξ (donde υ es la letra griega ípsilon) con parte entera que se interpreta como “Por cada Ξ elementos de la población de referencia bajo la condición especificada (en este caso, que tomó aspirina o que tomó un placebo) estará presente la característica (u ocurrirá el evento, según sea el caso) en (d^*+h) ocasiones, en donde h es el infinitesimal a la derecha del punto decimal (llamado así porque separa no sólo los enteros de los infinitesimales, sino que a su derecha se encuentra la casilla correspondiente justamente a algún número decimal).

### RAZÓN DE MOMIOS

####DEFÍNICIÓN: Es una medida utilizada en estudios epidemiológicos transversales y de casos y controles, así como en los metaanálisis. En términos formales, se define como la posibilidad que una condición de salud o enfermedad se presente en un grupo de población frente al riesgo que ocurra en otro. En epidemiología, la comparación suele realizarse entre grupos humanos que presentan condiciones de vida similares, con la diferencia que uno se encuentra expuesto a un factor de riesgo (mi) mientras que el otro carece de esta característica (mo). Por lo tanto, la razón de momios o de posibilidades es una medida de tamaño de efecto.

####Nótese que es un concepto, evidentemente, de naturaleza frecuentista.

####La razón de momios es el cociente entre las razones de ocurrencia/no-ocurrencia de los tratamientos experimentales estudiados (una razón por cada uno de los dos tratamientos experimentales sujetos de comparación).

### TAMAÑO DEL EFECTO

setwd(“C:/Users/User/Desktop/Carpeta de Estudio/Maestría Profesional en Estadística/Semestre II-2021/Métodos, Regresión y Diseño de Experimentos/2/Laboratorios/Laboratorio 2”)

## ESTIMAR EL COEFICIENTE DE CORRELACIÓN DE PEARSON ENTRE TEMPERATURA Y PORCENTAJE DE CONVERSIÓN

###CÁLCULO MANUAL DE LA COVARIANZA

prom.temp = mean(temperatura)

prom.conversion = mean(porcentaje.conversion)

sd.temp = sd(temperatura)

sd.conversion = sd(porcentaje.conversion)

n = nrow(vinilacion)

covarianza = sum((temperatura-prom.temp)*(porcentaje.conversion-prom.conversion))/(n-1)

covarianza

###La covarianza es una medida para indicar el grado en el que dos variables aleatorias cambian en conjunto (véase https://www.mygreatlearning.com/blog/covariance-vs-correlation/#differencebetweencorrelationandcovariance).

###CÁLCULO DE LA COVARIANZA DE FORMA AUTOMATIZADA

cov(temperatura,porcentaje.conversion)

###CÁLCULO MANUAL DEL COEFICIENTE DE CORRELACIÓN DE PEARSON

###Véase https://www.wikiwand.com/en/Pearson_correlation_coefficient (9 de septiembre de 2021).

coef.correlacion = covarianza/(sd.temp*sd.conversion)

coef.correlacion

###CÁLCULO AUTOMATIZADO DEL COEFICIENTE DE CORRELACIÓN DE PEARSON

cor(temperatura,porcentaje.conversion) ###Salvo que se especifique lo contrario (como puede verificarse en la librería de R), el coeficiente de correlación calculado por defecto será el de Pearson, sin embargo, se puede calcular también el coeficiente de Kendall (escribiendo “kendall” en la casilla “method” de la sintaxis “cor”) o el de Spearman (escribiendo “spearman” en la casilla “method” de la sintaxis “cor”).

cor(presion,porcentaje.conversion)

###VÍNCULO, SIMILITUDES Y DIFERENCIAS ENTRE CORRELACIÓN Y COVARIANZA

###El coeficiente de correlación está íntimamente vinculado con la covarianza. La covarianza es una medida de correlación y el coeficiente de correlación es también una forma de medir la correlación (que difiere según sea de Pearson, Kendall o Spearman).

###La covarianza indica la dirección de la relación lineal entre variables, mientras que el coeficiente de correlación mide no sólo la dirección sino además la fuerza de esa relación lineal entre variables.

###La covarianza puede ir de menos infinito a más infinito, mientras que el coeficiente de correlación oscila entre -1 y 1.

###La covarianza se ve afectada por los cambios de escala: si todos los valores de una variable se multiplican por una constante y todos los valores de otra variable se multiplican por una constante similar o diferente, entonces se cambia la covarianza. La correlación no se ve influenciada por el cambio de escala.

###La covarianza asume las unidades del producto de las unidades de las dos variables. La correlación es adimensional, es decir, es una medida libre de unidades de la relación entre variables.

###La covarianza de dos variables dependientes mide cuánto en cantidad real (es decir, cm, kg, litros) en promedio covarían. La correlación de dos variables dependientes mide la proporción de cuánto varían en promedio estas variables entre sí.

###La covarianza es cero en el caso de variables independientes (si una variable se mueve y la otra no) porque entonces las variables no necesariamente se mueven juntas (por el supuesto de ortogonalidad entre los vectores, que expresa geométricamente su independencia lineal). Los movimientos independientes no contribuyen a la correlación total. Por tanto, las variables completamente independientes tienen una correlación cero.

## CREAR UNA MATRIZ DE CORRELACIONES DE PEARSON Y DE SPEARMAN

####La vinilación de los glucósidos se presenta cuando se les agrega acetileno a alta presión y alta temperatura, en presencia de una base para producir éteres de monovinil.

###Los productos de monovinil éter son útiles en varios procesos industriales de síntesis.

###Interesa determinar qué condiciones producen una conversión máxima de metil glucósidos para diversos isómeros de monovinil.

cor(vinilacion) ###Pearson

cor(vinilacion, method=”spearman”) ###Spearman

## CREAR UNA MATRIZ DE VARIANZAS Y COVARIANZAS (LOCALIZADAS ESTAS ÚLTIMAS EN LA DIAGONAL PRINCIPAL DE LA MATRIZ)

cov(vinilacion)

## GENERAR GRÁFICOS DE DISPERSIÓN

plot(temperatura,porcentaje.conversion)

plot(porcentaje.conversion~temperatura)

mod = lm(porcentaje.conversion~temperatura)

abline(mod,col=2)

###La sintaxis “lm” es usada para realizar ajuste de modelos lineales (es decir, ajustar un conjunto de datos a la curva dibujada por un modelo lineal -i.e., una línea recta-, lo cual -si es estadísticamente robusto- implica validar que el conjunto de datos en cuestión posee un patrón de comportamiento geométrico lineal).

###La sintaxis “lm” puede utilizar para el ajuste el método de los mínimos cuadrados ponderados o el método de mínimos cuadrados ordinarios, en función de si la opción “weights” se llena con un vector numérico o con “NULL”, respectivamente).

### La casilla “weights” de la sintaxis “lm” expresa las ponderaciones a utilizar para realizar el proceso de ajuste (si las ponderaciones son iguales para todas las observaciones, entonces el método de mínimos cuadrados ponderados se transforma en el método de mínimos cuadrados ordinarios). Estas ponderaciones son, en términos computacionales, aquellas que minimizan la suma ponderada de los errores al cuadrado.

###Las ponderaciones no nulas pueden user usadas para indicar diferentes varianzas (con los valores de las ponderaciones siendo inversamente proporcionales a la varianza); o, equivalentemente, cuando los elementos del vector de ponderaciones son enteros positivos w_i, en donde cada respuesta y_i es la media de las w_j unidades observacionales ponderadas (incluyendo el caso de que hay w_i observaciones iguales a y_i y los datos se han resumido).

###Sin embargo, en el último caso, observe que no se utiliza la variación dentro del grupo. Por lo tanto, la estimación sigma y los grados de libertad residuales pueden ser subóptimos; en el caso de pesos de replicación, incluso incorrecto. Por lo tanto, los errores estándar y las tablas de análisis de varianza deben tratarse con cuidado.

###La estimación sigma se refiere a la sintaxis “sigma” que estima la desviación estándar de los errores (véase https://stat.ethz.ch/R-manual/R-devel/library/stats/html/sigma.html).

###Si la variable de respuesta (o dependiente) es una matriz, un modelo lineal se ajusta por separado mediante mínimos cuadrados a cada columna de la matriz.

###Cabe mencionar que “formula” (la primera entrada de la sintaxis “lm”) tiene un término de intersección implícito (recuérdese que toda ecuación de regresión tiene un intercepto B_0, que puede ser nulo). Para eliminar dicho término, debe usarse y ~ x – 1 o y ~ 0 + x.

plot(presion~porcentaje.conversion)

mod = lm(presion~porcentaje.conversion) ###Ajuste a la recta antes mencionado y guardado bajo el nombre “mod”.

abline(mod,col=2) ###Es crear una línea color rojo (col=2) en la gráfica generada (con la función “mod”)

## REALIZAR PRUEBA DE HIPÓTESIS PARA EL COEFICIENTE DE CORRELACIÓN

###Para estar casi seguros (en relación al concepto de convergencia) Para asegurar que existe al menos una leve correlación entre dos variables (X,Y) se tiene que probar que el coeficiente de correlación poblacional (r) no es nulo.

###Para que la prueba de hipótesis tenga validez se debe verificar que la distribución de Y para cada X es normal y que sus valores han sido seleccionados aleatoriamente.

###Si se rechaza la hipótesis nula, no se asegura que haya una correlación muy alta.

###Si el valor p es menor que el nivel de significancia se rechaza la Ho de que el coeficiente de correlación entre Y y X es cero en términos de determinado nivel de significancia estadística.

###Evaluar la significancia estadística de un coeficiente de correlación puede contribuir a validar o refutar una investigación donde este se haya utilizado (siempre que se cuenten con los datos empleados en la investigación), por ejemplo, en el uso de modelos lineales de predicción.

###Se puede utilizar la distribución t con n-2 grados de libertad para probar la hipótesis.

###Como se observará a continuación, además de la forma estándar, también es posible calcular t como la diferencia entre el coeficiente de correlación.

###Si la probabilidad asociada a la hipótesis nula es casi cero, puede afirmarse a un nivel de confianza determinado de que la correlación es altamente significativa en términos estadísticos.

###FORMA MANUAL

ee = sqrt((1-coef.correlacion^2)/(n-2))

t.calculado = (coef.correlacion-0)/ee ###Aquí parece implicarse que el valor t puede calcularse como el cociente entre el coeficiente de correlación muestral menos el coeficiente de correlación poblacional sobre el error estándar de la media.

cor.test(temperatura,porcentaje.conversion) ###El valor del coeficiente de correlación que se ha estipulado (que es cero) debe encontrarse dentro del intervalo de confianza al nivel de probabilidad pertinente para aceptar Ho y, caso contrario, rechazarla.

cor.test(temperatura,presion)

###Como se señala en https://marxianstatistics.com/2021/09/05/analisis-teorico-de-la-funcion-cuantil-en-r-studio/,&nbsp; calcula el valor umbral x por debajo del cual se encuentran las observaciones sobre el fenómeno de estudio en una proporción P de las ocasiones (nótese aquí una definición frecuentista de probabilidad), incluyendo el umbral en cuestión.

qt(0.975,6)

### EJEMPLO DE APROXIMACIÓN COMPUTACIONAL DE LA DISTRIBUCIÓN t DE STUDENT A LA DISTRIBUCIÓN NORMAL

###El intervalo de confianza se calcula realizando la transformación-z de Fisher (tanto con la función automatizada de R como con la función personalizada elaborada) como a nivel teórico), la cual se utiliza porque cuando la transformación se aplica al coeficiente de correlación muestral, la distribución muestral de la variable resultante es aproximadamente normal, lo que implica que posee una varianza que es estable sobre diferentes valores de la correlación verdadera subyacente (puede ampliarse más en https://en.wikipedia.org/wiki/Fisher_transformation).

coef.correlacion+c(-1,1)*qt(0.975,6)*ee ###Intervalo de confianza para el estadístico de prueba sujeto de hipótesis (el coeficiente de correlación, en este caso) distribuido como una distribución t de Student.

coef.correlacion+c(-1,1)*qnorm(0.975)*ee ###Intervalo de confianza para el estadístico de prueba sujeto de hipótesis (el coeficiente de correlación, en este caso) distribuido normalmente.

## CASO DE APLICACIÓN HIPOTÉTICO

###En un estudio sobre el metabolismo de una especie salvaje, un biólogo obtuvo índices de actividad y datos sobre tasas metabólicas para 20 animales observados en cautiverio.

rm(list=ls()) ###Remover todos los objetos de la lista

###Coeficiente de Correlación de Pearson

###Se rechaza la hipótesis nula de que la correlación de Pearson es 0.

###Coeficiente de correlación de Spearman

(t.s=corr*(sqrt((n-2)/(1-(corr^2)))))

(gl=n-2)

(1-pt(t.s,gl))*2

###Se rechaza la hipótesis nula de que la correlación de Spearman es 0.

###Ambas oscilan entre -1 y 1. El signo negativo denota la relacion inversa entre ambas. La correlacion de Pearson mide la relación lineal entre dos variables (correlacion 0 es independencia lineal, que los vectores son ortogonales). La correlación de Pearson es para variables numérica de razón y tiene el supuesto de normalidad en la distribución de los valores de los datos. Cuando los supuestos son altamente violados, lo mejor es usar una medida de correlación no-paramétrica, específicamente el coeficiente de Spearman. Sobre el coeficiente de Spearman se puede decir lo mismo en relación a la asociación. Así, valores de 0 indican correlación 0, pero no asegura que por ser cero las variables sean independientes (no es concluyente).

### TABLAS DE CONTINGENCIA Y PRUEBA DE INDEPENDENCIA

###Una tabla de contingencia es un arreglo para representar simultáneamente las cantidades de individuos y sus porcentajes que se presentan en cada celda al cruzar dos variables categóricas.

###En algunos casos una de las variables puede funcionar como respuesta y la otra como factor, pero en otros casos sólo interesa la relación entre ambas sin intentar explicar la dirección de la relación.

###CASO DE APLICACIÓN HIPOTÉTICO

###Un estudio de ensayos clínicos trataba de probar si la ingesta regular de aspirina reduce la mortalidad por enfermedades cardiovasculares. Los participantes en el estudio tomaron una aspirina o un placebo cada dos días. El estudio se hizo de tal forma que nadie sabía qué pastilla estaba tomando. La respuesta es que si presenta o no ataque cardiaco (2 niveles),

rm(list=ls())

aspirina

str(aspirina)

attach(aspirina)

names(aspirina)

str(aspirina)

View(aspirina)

#### 1. Determinar las diferencias entre la proporción a la que ocurrió un ataque dependiendo de la pastilla que consumió. Identifique el porcentaje global en que presentó ataque y el porcentaje global en que no presentó.

e=tapply(aspirina\$freq,list(ataque,pastilla),sum) ###Genera la estructura de la tabla con la que se trabajará (la base de datos organizada según el diseño experimental previamente realizado).

prop.table(e,2) ###Riesgo Relativo columna. Para verificar esto, contrástese lo expuesto al inicio de este documento con la documentación CRAN [accesible mediante la sintaxis “?prop.table”] para más detalles.

prop.table(e,1) ###Riesgo Relativo fila. Para verificar esto, contrástese lo expuesto al inicio de este documento con la documentación CRAN [accesible mediante la sintaxis “?prop.table”] para más detalles.

###Si se asume que el tipo de pastilla no influye en el hecho de tener un ataque cardíaco, entonces, debería de haber igual porcentaje de ataques en la columna de médicos que tomaron aspirina que en la de los que tomaron placebo.

###Se obtiene el valor esperado de ataques y no ataques.

### Lo anterior se realiza bajo el supuesto de que hay un 1.3% de ataques en general y un 98.7% de no ataques.

###Como se señala en [James E. Grizzle, Continuity Correction in the χ2-Test for 2 × 2 Tables, (The American Statistician, Oct., 1967, Vol. 21, No. 4 (Oct., 1967), pp. 28-32), p. 29-30], técnicamente hablando, la corrección de Yates hace que “(…) las probabilidades obtenidas bajo la distribución χ2 bajo la hipótesis nula converjan de forma más cercana con las probabilidades obtenidas bajo el supuesto de que el conjunto de datos fue generado por una muestra proveniente de la distribución hipergeométrica, i.e., generados bajo el supuesto que los dos márgenes de la tabla fueron fijados con antelación al muestreo.”

###Grizzle se refiere con “márgenes” a los totales de la tabla (véase https://www.tutorialspoint.com/how-to-create-a-contingency-table-with-sum-on-the-margins-from-an-r-data-frame). Además, la lógica de ello subyace en la misma definición matemática de la distribución hipergeométrica. Como se puede verificar en RStudio mediante la sintaxis “?rhyper”, la distribución hipergeométrica tiene la estructura matemática (distribución de probabilidad) p(x) = choose(m, x) choose(n, k-x)/choose(m+n, k), en donde m es el número de éxitos, n es el número de fracasos lo que ) y k es el tamaño de la muestra (tanto m, n y k son parámetros en función del conjunto de datos, evidentemente), con los primeros dos momentos definidos por E[X] = μ = k*p y la varianza se define como Var(X) = k p (1 – p) * (m+n-k)/(m+n-1). De lo anterior se deriva naturalmente que para realizar el análisis estocástico del fenómeno modelado con la distribución hipergeométrica es necesario conocer la cantidad de sujetos que representan los éxitos y los fracasos del experimento (en donde “éxito” y “fracaso” se define en función del planteamiento del experimento, lo cual a su vez obedece a múltiples factores) y ello implica que se debe conocer el total de los sujetos experimentales estudiados junto con su desglose en los términos binarios ya especificados.

###Lo mismo señalado por Grizzle se verifica (citando a Grizzle) en (Biometry, The Principles and Practice of Statistics in Biological Research, Robert E. Sokal & F. James Rohlf, Third Edition, p. 737), especificando que se vuelve innecesaria la corrección de Yates aún para muestras de 20 observaciones.

###Adicionalmente, merece mención el hecho que, como es sabido, la distribución binomial se utiliza con frecuencia para modelar el número de éxitos en una muestra de tamaño n extraída con reemplazo de una población de tamaño N. Sin embargo, si el muestreo se realiza sin reemplazo, las muestras extraídas no son independientes y, por lo tanto, la distribución resultante es una hipergeométrica; sin embargo, para N mucho más grande que n, la distribución binomial sigue siendo una buena aproximación y se usa ampliamente (véase https://www.wikiwand.com/en/Binomial_distribution).

###Grados de libertad correspondientes: número de filas menos 1 por número de columnas menos 1.

###Ho = Hay independencia entre el ataque y las pastillas.

(tabla.freq<-xtabs(freq~ataque+pastilla, data=aspirina))

###La tabla de frecuencias contiene tanto las frecuencias observadas como las esperadas.

###La frecuencia esperada es el conteo de observaciones que se espera en una celda, en promedio, si las variables son independientes.

###La frecuencia esperada de una variable se calcula como el producto entre el cociente [(Total de la Columna j)/(Total de Totales)]*(Total Fila i).

(prueba.chi<-chisq.test(tabla.freq,correct=F) ) ###La sintaxis “chisq.test” sirve para realizar la prueba de Chi-Cuadrado en tablas de contingencia y para realizar pruebas de bondad de ajuste.

names(prueba.chi)

###Si el valor p es mayor que el nivel de significancia se falla en rechazar Ho, si es menor se rechaza Ho.

###Se rechaza Ho con un nivel de significancia alfa de 0.05. Puesto que se tiene una probabilidad muy baja de cometer error tipo I, i.e., rechazar la hipótesis nula siendo falsa.

## FUNDAMENTOS GENERALES DEL PROCESO DE ESTIMACIÓN Y PRUEBA DE HIPÓTESIS EN R STUDIO. PARTE II, CÓDIGO EN R STUDIO CON COMENTARIOS

##ESTABLECER EL DIRECTORIO DE TRABAJO

setwd(“(…)”)

##LEER EL ARCHIVO DE DATOS. EN ESTE CASO, SUPÓNGASE QUE LOS DATOS SON DE UNA MUESTRA ALEATORIA DE 21 TIENDAS UBICADAS EN DIFERENTES PARTES DEL PAÍS Y A LAS CUALES SE LES REALIZÓ VARIOS ESTUDIOS. PARA ELLO SE MIDIERON ALGUNAS VARIABLES QUE SE PRESENTAN A CONTINUACIÓN

###- menor16= es un indicador de limpieza del lugar, a mayor número más limpio.

###- ipc= es un indice de producto reparado con defecto, indica el % de producto que se pudo reparar y posteriormente comercializar.

###- ventas= la cantidad de productos vendidos en el último mes.

## CREAR EL ARCHIVO Y AGREGAR NOMBRES A LAS COLUMNAS

names(estudios)

nrow(estudios)

ncol(estudios)

dim(estudios)

## REVISAR LA ESTRUCTURA DEL ARCHIVO Y CALCULAR LA MEDIA, LA DESVIACIÓN ESTÁNDAR Y LOS CUANTILES PARA LAS VARIABLES DE ESTUDIO Y, ADICIONALMENTE, CONSTRÚYASE UN HISTOGRAMA DE FRECUENCIAS PARA LA VARIABLE “VENTAS”

str(estudios)

attach(estudios)

ventas

###Nota: la función “attach” sirve para adjuntar la base de datos a la ruta de búsqueda R. Esto significa que R busca en la base de datos al evaluar una variable, por lo que se puede acceder a los objetos de la base de datos simplemente dando sus nombres.

###Nota: Al poner el comando “attach”, la base de datos se adjunta a la dirección de búsqueda de R. Entonces ahora pueden llamarse las columnas de la base de datos por su nombre sin necesidad de hacer referencia a la base de datos ventas es una columna -i.e., una variable- de la tabla estudios). Así, al escribrlo, se imprime (i.e., se genera visualmente para la lectura ocular)

## CALCULAR LOS ESTADÍSTICOS POR VARIABLE Y EN CONJUNTO

mean(ventas)

sd(ventas)

var(ventas)

apply(estudios,2,mean)

apply(estudios,2,sd)

###Nota: la función “apply” sirve para aplicar otra función a las filas o columnas de una tabla de datos

###Nota: Si en “apply” se pone un “1” significa que aplicará la función indicada sobre las filas y si se pone un “2” sobre las columnas

## APLICAR LA FUNCIÓN “quantile”.

quantile(ventas) ###El cuantil de función genérica produce cuantiles de muestra correspondientes a las probabilidades dadas. La observación más pequeña corresponde a una probabilidad de 0 y la más grande a una probabilidad de 1.

apply(estudios,2,quantile)

###Nótese que para aplicar la función “apply” debe haberse primero “llamado” (i.e., escrito en una línea de código) antes la función que se aplicará (en este caso es la función “quantile”).

(qv = quantile(ventas,probs=c(0.025,0.975)))

###Aquí se está creando un vector de valores correspondientes a determinada probabilidad (las ventas, en este caso), que para este ejemplo son probabilidades de 0.025 y 0.975 de probabilidad, que expresan determinada proporción de la unidad de estudio que cumple con una determinada característica (que en este ejemplo esta proporción es el porcentaje de tiendas que tienen determinado nivel de ventas -donde la característica es el nivel de ventas-).

## GENERAR UN HISTOGRAMA DE FRECUENCIAS PARA LA COLUMNA “ventas”

hist(ventas)

abline(v=qv,col=2)

###Aquí se indica con “v” el conjunto de valores x para los cuales se graficará una línea. Como se remite a “qv” (que es un vector numérico de dos valores, 141 y 243) en el eje de las x, entonces graficará dos líneas color rojo (una en 141 y otra en 243).

###Aquí “col” es la sintaxis conocida como parte de los “parámetros gráficos” que sirve para especificar el color de las líneas

hist(ventas, breaks=7, col=”red”, xlab=”Ventas”, ylab=”Frecuencia”,

main=”Gráfico

Histograma de las ventas”)

detach(estudios)

###”breaks” es la indicación de cuántas particiones tendrá la gráfica (número de rectángulos, para este caso).

## GENERAR UNA DISTRIBUCIÓN N(35,4) CON NÚMEROS PSEUDOALEATORIOS PARA UN TAMAÑO DE MUESTRA n=1000

y = rnorm(1000,35,2)

hist(y)

qy = quantile(y,probs=c(0.025,0.975))

hist(y,freq=F)

abline(v=qy,col=2)

lines(density(y),col=2) #”lines” es una función genérica que toma coordenadas dadas de varias formas y une los puntos correspondientes con segmentos de línea.

## GENERAR UNA FUNCIÓN CON LAS VARIABLES n (CANTIDAD DE DATOS), m (MEDIA MUESTRAL) y  s (DESVIACIÓN ESTÁNDAR MUESTRAL) QUE ESTIME Y GRAFIQUE, ADEMÁS DE LOS CÁLCULOS DEL INCISO ANTERIOR, LA MEDIA.

plot.m = function(n,m,s) {

y = rnorm(n,m,s)

qy = quantile(y,probs=c(0.025,0.975))

hist(y,freq=F)

abline(v=qy,col=2)

lines(density(y),col=2) ###Aquí se agrega una densidad teórica (una curva que dibuja una distribución de probabilidad -de masa o densidad- de referencia), la cual aparece en color rojo.

mean(y)

}

## OBTENER UNA MUESTRA DE TAMAÑO n=10 DE N(100, 15^2)

plot.m(10000,100,15)

###Nótese que formalmente la distribución normal se caracteriza siempre por su media y varianza, aunque en la sintaxis “rnorm” de R se introduzca su media y la raíz de su varianza (la desviación estándar muestral)

##Generar mil repeticiones e ingresarlas en un vector. Compárense sus medias y desviaciones estándar.

n=10000; m=100;s=15

I = 1000 ###”I” son las iteraciones

medias = numeric(I)

for(i in 1:I)           {#”for” es un bucle (sintaxis usada usualmente para crear funciones personalizadas)

sam=rnorm(n,m,s) ###Aquí se crea una variable llamada “sam” (de “sample”, i.e., muestra) que contiene una la distribución normal creada con números pseudoaleatorios.

medias[i]=mean(sam)   } ###”sam” se almacena en la i-ésima posición la i-ésima media generada con “rnorm” que le corresponde dentro del vector numérico de iteraciones (el que contiene las medias de cada iteración) medias[i] (que contiene los elementos generados con la función “mean(sam)”).

###Un bucle es una interrupción repetida del flujo regular de un programa; pueden concebirse como órbitas (en el contexto de los sistemas dinámicos) computacionales. Un programa está diseñado para ejecutar cada línea ordenadamente (una a una) de forma secuencial 1,2,3,…,n. En la línea m el programa entiende que tiene que ejecutar todo lo que esté entre la línea n y la línea m y repetirlo, en orden secuencial, una cantidad x de veces. Entonces el flujo del programa sería, para el caso de un flujo regular  1,2,3,(4,5,…,m),(4,5,…,m),…*x,m+1,m+2,…,n.

## UTILIZAR LA VARIABLE “medias[i]” GENERADA EN EL INCISO ANTERIOR PARA DETERMINAR LA DESVIACIÓN ESTÁNDAR DE ESE CONJUNTO DE MEDIAS (ALMACENADO EN “medias[i]”) Y DETERMINAR SU EQUIVALENCIA CON EL ERROR ESTÁNDAR DE LA MEDIA (e.e.)

###Lo anterior evidentemente implica que se está construyendo sintéticamente (a través de bucles computacionales) lo que, por ejemplo, en un laboratorio botánico se registra a nivel de datos (como en el que Karl Pearson y Student hacían sus experimentos y los registraban estadísticamente) y luego se analiza en términos de los métodos de la estadística descriptiva e inferencial (puesto que a esos dominios pertenece el e.e.).

sd(medias)     ### desviación de la distribución de las medias

(ee = s/sqrt(n)  )### equivalencia teórica

## COMPARAR LA DISTRIBUCIÓN DE MEDIAS

m

mean(medias)

## GRAFICAR LA DISTRIBUCIÓN DE MEDIAS GENERADA EN EL INCISO ANTERIOR

hist(medias)

qm = quantile(medias,probs=c(0.025,0.975))

hist(medias,freq=F)

abline(v=qm,col=2)

lines(density(medias),col=2)

## GENERAR UN INTERVALO DE CONFIANZA CON UN NIVEL DE 0.95 PARA LA MEDIA DE LAS VARIABLES SUJETAS A ESTUDIO

attach(estudios)

### Percentil 0.975 de la distribución t-student para 95% de área bajo la curva

n = length(ventas) ###Cardinalidad o módulo del conjunto de datos

t = qt(0.975,n-1) ###valor t de la distribución t de student correspondiente a un nivel de probabilidad y n-1 gl

###Se denominan pruebas t porque todos los resultados de la prueba se basan en valores t. Los valores T son un ejemplo de lo que los estadísticos llaman estadísticas de prueba. Una estadística de prueba es un valor estandarizado que se calcula a partir de datos de muestra durante una prueba de hipótesis. El procedimiento que calcula la estadística de prueba compara sus datos con lo que se espera bajo la hipótesis nula (fuente: https://blog.minitab.com/en/adventures-in-statistics-2/understanding-t-tests-t-values-and-t-distributions).

###”qt” es la sintaxis que especifica un valor t determinado de la variable aleatoria de manera que la probabilidad de que esta variable sea menor o igual a este determinado valor t es igual a la probabilidad dada (que en la sintaxis de R se designa como p)

###Para más información véase https://marxianstatistics.com/2021/09/05/analisis-teorico-de-la-funcion-cuantil-en-r-studio/

###”n-1″ son los grados de libertad de la distribución t de student.

#### Error Estándar

ee = sd(ventas)/sqrt(n)

### Intervalo

mean(ventas)-t*ee

mean(ventas)+t*ee

mean(ventas)+c(-1,1)*t*ee ###c(-1,1) es un vector que se introduce artificialmente para poder construir el intervalo de confianza al 95% (u a otro nivel de confianza deseado) en una sola línea de código.

## ELABORAR UNA FUNCIÓN QUE PERMITA CONSTRUIR UN INTERVALO DE CONFIANZA AL P% DE NIVEL DE CONFIANZA PARA LA VARIABLE X

ic = function(x,p) {

n = length(x)

t = qt(p+((1-p)/2),n-1)

ee = sd(x)/sqrt(n)

mean(x)+c(-1,1)*t*ee

}

###Intervalo de 95% confianza para ventas

ic(ventas,0.95)

ic(ventas,0.99)

###El nivel de confianza hace que el intervalo de confianza sea más grande pues esto implica que los estadísticos de prueba (las versiones muestrales de los parámetros poblacionales) son más estadísticamente más robustos, por lo que su vecindario de aplicación es más amplio.

ic(ipc,0.95)

ic(menor16,0.95)

## REALIZAR LA PRUEBA DE HIPÓTESIS (PARA UNA MUESTRA) DENTRO DEL INTERVALO DE CONFIANZA GENERADO AL P% DE NIVEL DE CONFIANZA

t.test(ventas,mu=180) ###Por defecto, salvo que se cambie tal configuración, R realiza esta prueba a un nivel de confianza de 0.95.

### Realizando manualmente el cálculo anterior:

(t2=(mean(ventas)-180)/ee) ###Aquí se calcula el valor t por separado (puesto que la sintaxis “t.test” lo estima por defecto, como puede verificarse en la consola tras correr el código). Se denota con “t2” porque anteriormente se había definido en la línea de código 106 t = qt(0.975,n-1) para la construcción manual de los intervalos de confianza.

2*(1-pt(t2,20)) ###Aquí se calcula manualmente el valor p. Se multiplica por dos para tener la probabilidad acumulada total (considerando ambas colas) al valor t (t2, siendo más precisos) definido, pues esta es la definición de valor p. Esto se justifica por el hecho de la simetría geométrica de la distribución normal, la cual hace que la probabilidad acumulada (dentro de un intervalo de igual longitud) a un lado de la media sea igual a la acumulada (bajo la condición especificada antes) a la derecha de la media.

2*(pt(-t2,20)) ###Si el signo resultante de t fuese negativo. Además, 20 es debido a n-1 = 21-1 = 20.

###La sintaxis “pt” calcula el valor de la función de densidad acumulada (cdf) de la distribución t de Student dada una determinada variable aleatoria x y grados de libertad df (degrees of freedom, equivalente a gl en español), véase https://www.statology.org/working-with-the-student-t-distribution-in-r-dt-qt-pt-rt/

## CREAR UNA VARIABLE QUE PERMITA SEPARAR ESPACIALMENTE (AL INTERIOR DE LA GRÁFICA QUE LOS REPRESENTA) AQUELLOS ipc MENORES A UN VALOR h (h=117) DE AQUELLOS QUE SON IGUALES O MAYORES QUE h (h=117)

(ipc1 = 1*(ipc<17)+2*(ipc>=17))

ipc2=factor(ipc1,levels=c(1,2),labels=c(“uno”,”dos”))

plot(ipc2,ipc)

abline(h=17,col=2)

## GENERAR GRÁFICO DE DIAMENTE CON LOS INTERVALOS DE CONFIANZA AL 0.95 DE NdC CENTRADOS EN LAS MEDIAS DE CADA GRUPO CREADO ALREDEDOR DE 17 Y UN BOX-PLOT

library(gplots)

plotmeans(ventas~ipc2) ###Intervalos del 95% alrededor de la media (GRÁFICO DE DIMANTES)

boxplot(ventas~ipc2)

## REALIZAR LA PRUEBA DE HIPÓTESIS DE QUE LA MEDIA ES LA MISMA PARA LOS DOS GRUPOS GENERADOS ALREDEDOR DE h=17

(med = tapply(ventas,ipc1,mean))

(dev = tapply(ventas,ipc1,sd))

(var = tapply(ventas,ipc1,var))

(n   = table(ipc1))

dif=med[1]-med[2]

###La sintaxis “tapply” aplica una función a cada celda de una matriz irregular (una matriz es irregular si la cantidad de elementos de cada fila varía), es decir, a cada grupo (no vacío) de valores dados por una combinación única de los niveles de ciertos factores.

### PRUEBA DE HIPÓTESIS EN ESCENARIO 1: ASUMIENDO VARIANZAS IGUALES (SUPUESTO QUE EN ESCENARIOS REALES DEBERÁ VERIFICARSE CON ANTELACIÓN)

varpond= ((n[1]-1)*var[1] + (n[2]-1)*var[2])/(n[1]+n[2]-2) ###Aquí se usa una varianza muestral ponderada como medida más precisa (dado que el tamaño de los grupos difiere) de una varianza muestral común entre los dos grupos construidos alrededor de h=17

e.e=sqrt((varpond/n[1])+(varpond/n[2]))

dif/e.e

t.test(ventas~ipc1,var.equal=T)

t.test(ventas~ipc1)  #Por defecto la sintaxis “t.test” considera las varianzas iguales, por lo que en un escenario de diferentes varianzas deberá ajustarse esto como se muestra a continuación.

### PRUEBA DE HIPÓTESIS EN ESCENARIO 2: ASUMIENDO VARIANZAS DESIGUALES (AL IGUAL QUE ANTES, ESTO DEBE VERIFICARSE)

e.e2=sqrt((var[1]/n[1])+(var[2]/n[2]))

dif/e.e2

a=((var[1]/n[1]) + (var[2]/n[2]))^2

b=(((var[1]/n[1])^2)/(n[1]-1)) +(((var[2]/n[2])^2)/(n[2]-1))

(glmod=a/b)

t.test(ventas~ipc1,var.equal=F)

###Para aceptar o rechazar la hipótesis nula el intervalo debe contener al cero (porque la Ho afirma que la verdadera diferencia en las medias -i.e., su significancia estadística- es nula).

###Conceptualmente hablando, una diferencia estadísticamente significativa expresa una variación significativa en el patrón geométrico que describe al conjunto de datos. Véase https://marxianstatistics.com/2021/08/27/modelos-lineales-generalizados/. Lo que define si una determinada variación es significativa o no está condicionado por el contexto en que se realiza la investigación y la naturaleza misma del fenómeno estudiado.

## REALIZAR PRUEBA F PARA COMPARAR LA VARIANZA DE LOS GRUPOS Y LA PROBABILIDAD ASOCIADA

(razon.2 = var[1]/var[2]) ###Ratio de varianzas (asumiendo que las varianzas poblacionales son equivalentes a la unidad, en otro caso su estimación sería matemáticamente diferente; véase https://sphweb.bumc.bu.edu/otlt/mph-modules/bs/bs704_power/bs704_power_print.html y https://stattrek.com/online-calculator/f-distribution.aspx).

pf(razon.2,n[1]-1,n[2]-1) ###Al igual que “pt” (para el caso de la t de Student que compara medias de dos grupos o muestras), “pf” en el contexto de la prueba F (que compara la varianza de dos grupos o muestras) calcula la probabilidad acumulada que existe hasta determinado valor.

###La forma general mínima (más sintética) de la sintaxis “pf” es “pf(x, df1, df2)”, en donde “x” es el vector numérico (en este caso, de un elemento), df1 son los gl del numerador y df2 son los grados de libertad del denominador de la distribución F (cuya forma matemática puede verificarse en la documentación de R; véase https://stat.ethz.ch/R-manual/R-devel/library/stats/html/Fdist.html).

(2*pf(razon.2,n[1]-1,n[2]-1)) ###Aquí se calcula el valor p manualmente.

###Realizando de forma automatizada el procedimiento anterior:

var.test(ventas~ipc1)

detach(estudios)

###Para aceptar o rechazar la hipótesis nula el intervalo debe contener al 1 porque la Ho afirma que la varianza de ambas muestras es igual (lo que implica que su cociente o razón debe ser 1), lo que equivale a afirmar que la diferencia real entre desviaciones (la significancia estadística de esta diferencia) es nula.

## EN EL ESCENARIO DEL ANÁLISIS DE MUESTRAS PAREADAS, ANALIZAR LOS DATOS SOBRE EL EFECTO DE DOS DROGAS EN LAS HORAS DE SUEÑO DE UN GRUPO DE PACIENTES (CONTENIDOS EN EL ARCHIVO “sleep” DE R)

attach(sleep) ###”sleep” es un archivo de datos nativo de R, por ello puede “llamarse” sin especificaciones de algún tipo.

plot(extra ~ group)

plotmeans(extra ~ group,connect=F)  ###Intervalos del 95% alrededor de la media. El primer insumo (entrada) de la aplicación “plotmeans” es cualquier expresión simbólica que especifique la variable dependiente o de respuesta (continuo) y la variable independiente o de agrupación (factor). En el contexto de una función lineal, como la función “lm()” que es empleada por “plotmeans” para graficar (véase la documentación de R sobre “plotmeans”), sirve para separar la variable dependiente de la o las variables independientes, las cuales en este caso de aplicación son los factores o variables de agrupación (puesto que se está en el contexto de casos clínicos y, en este contexto, las variables independientes son las variables que sirven de criterio para determinar la forma de agrupación interna del conjunto de datos; este conjunto de datos contiene las observaciones relativas al efecto de dos drogas diferentes sobre las horas de sueño del conjunto de pacientes-).

A = sleep[sleep\$group == 1,] ###El símbolo “\$” sirve para acceder a una variable (columna) de la matriz de datos, en este caso la número 1 (por ello el “1”).

B = sleep[sleep\$group == 2,]

plot(1:10,A\$extra,type=”l”,col=”red”,ylim=c(-2,7),main=”Gráfico 1

Horas de sueño entre pacientes con el tratamiento A y B”,ylab=”Horas”,xlab=”Numero de paciente”,cex.main=0.8)

lines(B\$extra,col=”blue”)

legend(1,6,legend=c(“A”,”B”),col=c(“red”,”blue”),lwd=1,box.col=”black”,cex=1)

t.test(A\$extra,B\$extra)

t.test(A\$extra,B\$extra,paired=T)

t.test(A\$extra-B\$extra,mu=0)

###Una variable de agrupación (también llamada variable de codificación, variable de grupo o simplemente variable) clasifica las observaciones dentro de los archivos de datos en categorías o grupos. Le dice al sistema informático (sea cual fuere) cómo el usuario ha clasificado los datos en grupos. Las variables de agrupación pueden ser categóricas, binarias o numéricas.

###Cuando se desea realizar un comando dentro del texto (en un contexto de formato Rmd) se utiliza así,por ejemplo se podría decir que la media del sueño extra es `r mean(sleep\$extra)` y la cantidad de datos son `r length(sleep\$extra)`

## ESTIMACIÓN DE LA POTENCIA DE UNA PRUEBA DE HIPÓTESIS (PROBABILIDAD BETA DE COMETER ERROR TIPO II)

library(pwr) ###”pwr” es una base de datos nativa de R

delta=3 ###Nivel de Resolución de la prueba. Para un valor beta (probabilidad de cometer error tipo II) establecido el nivel de resolución es la distancia mínima que se desea que la prueba sea capaz de detectar, es decir, que si existe una distancia entre los promedios tal que la prueba muy probablemente rechace la hipótesis nula Ho. Para el cálculo manual de la probabilidad beta véase el complemento de este documento (FUNDAMENTOS GENERALES DEL PROCESO DE ESTIMACIÓN Y PRUEBA DE HIPÓTESIS EN R STUDIO. PARTE I, TEORÍA ESTADÍSTICA)

s=10.2 ###Desviación estándar muestral

(d=delta/s) #Tamano del efecto.

pwr.t.test(n=NULL,d=d,power =0.9,type=”one.sample”)

## ESTIMAR CON EL VALOR ÓPTIMO PARA EL NIVEL DE RESOLUCIÓN, PARTIENDO DE n=40 Y MANTENIENDO LA POTENCIA DE 0.9

(potencia=pwr.t.test(n=40,d=NULL,power =0.9,type=”one.sample”))

potencia\$d*s  #Delta

## GRAFICAR LAS DIFERENTES COMBINACIONES DE TAMAÑO DE MUESTRA Y NIVEL DE RESOLUCIÓN PARA UNA POTENCIA DE LA PRUEBA FIJA

s=10.2

deltas=seq(2,6,length=30)

n=numeric(30)

for(i in 1:30) {

(d[i]=deltas[i]/s)

w=pwr.t.test(n=NULL,d=d[i],power =0.9,type=”one.sample”)

n[i]=w\$n

}

plot(deltas,n,type=”l”)

## SUPÓNGASE QUE SE QUIERE PROBAR SI DOS GRUPOS PRESENTAN DIFERENCIAS ESTADÍSTICAMENTE SIGNIFICATIVAS EN LOS NIVELES PROMEDIO DE AMILASA, PARA LO CUAL SE CONSIDERA IMPORTANTE DETECTAR DIFERENCIAS DE 15 UNIDADES/ML O MÁS ENTRE LOS PROMEDIOS

s2p=290.9  ###Varianza ponderada de los dos grupos

(sp=sqrt(s2p)) ###Desviación estándar ponderada de los dos grupos

delta=15

(d=delta/sp)

pwr.t.test(n=NULL,d=d,power =0.9,type=”two.sample”)