Está en la página 1de 17

CONTENIDO

Funciones de probabilidad y de distribución en


R.
◦ Obtención de función de probabilidad para un 
valor (Var. Discretas).
Sesión 4. ◦ Obtención de probabilidades acumuladas hasta 
Distribuciones de  un valor (función de distribución).
probabilidad. ◦ Cómo generar conjuntos de datos que sigan 
diferentes distribuciones de probabilidad (*).
Aprender a obtener la función de 
probabilidad, de distribución en  ◦ Análisis de la normalidad (*).
distribuciones discretas: binomial y 
poisson. ◦ Enfoque numérico.
Aprender a obtener la función de  ◦ Enfoque gráfico.
distribución en distribuciones  ◦ Test de hipótesis.
continuas. Normal, t‐student, chi2, 
F.
Aprender a generar conjuntos de 
datos con una distribución de 
probabilidad dada.
Saber elegir la representación 
adecuada para cada tipo de 
distribución.
Análisis de la normalidad de una 
variable (*).

GRADO MEDICINA BIOESTADÍSTICA 2014/2015


Esquema general.

R dispone de funciones para obtener tanto la función de probabilidad  
(f(x)) como la función de distribución de probabilidad (F(x)).
Además podemos obtener el cuantil que deja cierta probabilidad en 
una distribución dada.
También podemos generar series aleatorias de valores procedentes de 
una distribución concreta.
La estructura de estas funciones es similar, pero los argumentos y 
opciones pueden diferir.

GRADO MEDICINA BIOESTADÍSTICA
Estructura.

La función comenzará por una letra que indicará
◦ p – para obtener la función de distribución F(x)
◦ d – para obtener la función de densidad f(x) (función de masa en discretas).
◦ q – para obtener el cuantil que deja un área de probabilidad en una distribución dada.
◦ r – para generar una serie aleatoria de números procedentes de dicha distribución.

Detrás de la letra vendrá el nombre de la función y así tendremos
◦ pbinom, dbinom, qbinom, rbinom, para la distribución binomial.
◦ ppois, dpois, qpois, rpois, para la distribución de poisson.
◦ pnorm, dnorm, qnorm, rnorm para la distribución normal.
◦ pt, dt, qt, rt, para la distribución de student.
◦ pchisq, dchisq, qchisq, rchisq para la distribución ji‐cuadrado (chi‐squared)
◦ pf,df,qf,rf, para la distribución F de Fisher‐Snedecor.
NOTA: Si en la ayuda de R busca cualquiera de ellas, le ofrecerá la ayuda de todas las de una distribución dada. En esta 
presentación lo vamos a contar en función del objetivo perseguido (obtener función de densidad, de distribución, cuantiles…) en 
vez de distribución por distribución.

GRADO MEDICINA BIOESTADÍSTICA
Obtención de función de probabilidad para un 
valor (Vars. Discretas).

Binomial.
◦ dbinom (q, size, prob, log.p = FALSE)
◦ q es el número de éxitos, size el número de experimentos, prob la probabilidad de éxito de un 
experimento log.p=T damos las probabilidades com o logaritmos (rara vez la utilizaremos en 
este curso).
◦ dbinom(4,5,0.6) # devuelve la probabilidad de que se curen exactamente 4 sujetos al realizar un 
experimento binomial (por ejemplo curación tras aplicar un fármaco) con 5 ensayos, cada uno 
con probabilidad de éxito de 0.6.

Poisson.
◦ dpois(q, lambda,log.p = FALSE)
◦ dpois(1,3*10^‐3) # devuelve la probabilidad de que un/a niño/a sufra reacción  adversa grave 
tras aplicar a 3000 niños/as una vacuna con una probabilidad de reacción adversa grave de 10^‐
6.

GRADO MEDICINA BIOESTADÍSTICA
Obtención la función de distribución de una 
v.a.

Binomial
◦ pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)
◦ q es el número de éxitos, size el número de experimentos, prob la probabilidad de éxito de un 
experimento, lower.tail=T para indicarle si quiere la P(X<= q). Si se indica F, el complementario es decir 
P(X>q). La opción log.p=T devuelve los logaritmos de la probabilidades (esta última no la utilizaremos).
◦ pbinom(4,5,0.6) # devuelve la función de distribución (probabilidad acumulada hasta 4) de un 
experimento binomial (por ejemplo curación tras aplicar un fármaco) con 5 ensayos cada uno con 
probabilidad de éxito de 0.6.
◦ pbinom(4,5,0.6,lower.tail=F) #es la probabilidad complementaria de la anterior. 

Poisson
◦ ppois(q, lambda, lower.tail = TRUE, log.p = FALSE)
◦ ppois(1,3*10^‐3) # devuelve la probabilidad de que aparezcan  una o menos reacciones adversas tras 
aplicar a 3000 niños una vacuna que  en teoría tiene una probabilidad de 10^‐6 de producir una 
reacción adversa grave. 
◦ ppois(1,3*10^‐3,lower.tail=F) #devuelve la probabilidad de que aparezcan  2 o más reacciones adversas 
tras aplicar a 3000 niños una vacuna que  en teoría tiene una probabilidad de 10^‐6 de producir una 
reacción adversa grave.

GRADO MEDICINA BIOESTADÍSTICA
Funciones de distribución para distribuciones 
de probabilidad continuas. 

En realidad la interpretación es la misma, cambiando los parámetros 
dependiendo de la función que estemos utilizando. Por ejemplo en la 
normal utilizaremos media y s (d.t), en la t, en la χ2 y en la F deberemos 
indicar los grados de libertad (ν).
◦ pnorm(180,172.5,6.25) #nos devuelve la probabilidad de observar valores 
inferiores o iguales a 180  180 en una distribución normal de  ̅
172.5, 6.25. 
◦ pnorm(180,172.5,6.25,lower.tail=F) # obtiene la complementaria P(X>180)
◦ pnorm (1.2) # Cuando no le indicamos media ni d.t. , R asume que le 
preguntamos por una normal tipificada, es decir obtiene la P(z<=1.2) en una 
distribución normal de media 0 y d.t.=1. ¿Por qué obtiene el mismo 
resultado con las dos expresiones anteriores?
◦ pnorm(180,172.5,6.25)‐pnorm(160,172.5,6.25) #Restando áreas podemos 
obtener probabilidades de intervalos.

GRADO MEDICINA BIOESTADÍSTICA
Funciones de distribución para distribuciones 
de probabilidad continuas (cont.)

Un ejemplo de otras funciones de distribución que utilizaremos este 
curso.
◦ t‐student
◦ pt(‐1.96,30)
◦ 1‐pt(1.96,30) # debería obtener lo mismo que en ejemplo anterior.
◦ (chi‐squared)
◦ pchisq(3.84,1) #
◦ 1‐ pchisq(3.84,1)=pchisq(3.84,1,lower.tail=F) # ¿Sabría decir por qué?
◦ F de Fisher‐Snedecor.
◦ pf(4.84,3,49) # Área que deja (probabilidad de valores inferiores a) el valor 4.84 en una 
distribución con g.l.1=3 y g.l.2=49)

GRADO MEDICINA BIOESTADÍSTICA
Obtener cuantiles que dejan determinadas 
áreas en diferentes distribuciones.

En esta diapositiva veremos como obtenerlos para cada distribución.
◦ qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)
◦ qbinom(0.95,15,.6) # si escogemos lower.tail=F estaremos indicando que el área indicada se refiere a 1‐F(x). En este 
ejemplo, 12 o menos éxitos dejan una probabilidad de 0.95 en un ensayo binomial de 15 ensayos con probabilidad 0.6. 
◦ qbinom(0.05,15,.6,lower.tail=F) # obtendríamos el mismo resultado que con la expresión anterior.
◦ Nota: Al tratarse de una distribución discreta nos devolverá el primer valor que cumpla la condición:
◦ qpois(p, lambda, lower.tail = TRUE, log.p = FALSE)
◦ qpois(.95,3*10^6*1*10^‐6) # En el ejercicios sobre reacciones adversas a una vacuna que se aplica a 3 millones de niños, 
en el que la probabilidad de una reacción adversa grave es de 10‐6 , ¿Cómo leería la anterior expresión?  
◦ qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
◦ qnorm(.88493,172.5,6.25) 
◦ qnorm((1‐0.02275013),172.5,6.25,lower.tail=F) # Se le ocurre una forma más fácil de obtener lo mismo.
◦ qnorm(0.975). # Cuando no se indica media y s, asume que nos referimos a normal tipificada.
◦ qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE)
◦ qt(0.975,30)
◦ qt(0.025,Inf) # ¿por qué coincide con qnorm(0.025)?
◦ qchisq(p, df, ncp = 0, lower.tail = TRUE, log.p = FALSE)
◦ qchisq(.05,1,lower.tail=F)
◦ qchisq(.025,1,lower.tail=F) # ¿De esta expression obtendremos un número mayor que 1 o una probabilidad (por tanto  
comprendida en [0,1])? ¿Cómo será este número, mayor o menor que el de la expresion anterior?

GRADO MEDICINA BIOESTADÍSTICA
Ejercicios S4.1

GRADO MEDICINA BIOESTADÍSTICA
GRADO MEDICINA BIOESTADÍSTICA
Soluciones Ejercicio S4.1

Las soluciones se colgarán en el aula virtual al terminar la práctica.

GRADO MEDICINA BIOESTADÍSTICA
Cómo generar conjuntos de datos que sigan 
diferentes distribuciones de probabilidad (*).

Como en la anterior, mostraremos ejemplos de todas para entender los 
aspectos comunes en su estructura:
◦ rnorm(n, mean = 0, sd = 1)# n hace referencia al número de elementos que se 
quieren generar. Habitualmente los introduciremos en un objeto.
◦ vec_norm<‐rnorm(100) # si no indicamos nada, R asume distribución normal tipificada.
◦ vec_norm2<‐rnorm(100,172.5,6.25) # pero podemos construir otras.
◦ rt(n, df, ncp)
◦ rt(100,30) #asume centrada en el 0.
◦ rchisq(n, df, ncp = 0)
◦ rchisq(50,1)
◦ rpois(n, lambda)
◦ rpois(80,3)

Nota: Como se puede observar cada vez que generamos el conjunto este cambia aunque utilizemos los mismos 
parámetros. La función set.seed(integer) , genera secuencias seudoaleatorias. Utiliza un algoritmo para que si utilizamos 
la misma semilla de aleatorización, el conjunto de números aleatorios siguiendo una distribución dada generado tras 
ella, sea el mismo. (*)

GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad de una variable.
LO VEREMOS DESPUÉS DE LA SESIÓN SOBRE ESTADÍSTICA 
DESCRIPTIVA.

GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Enfoque numérico.

Los descriptivos nos pueden dar información sobre:
◦ Relación entre media, mediana y moda.
◦ Asimetría (skewness) y error estándar.
◦ Apuntamiento (kurtosis) y error estándar.
◦ Valores periféricos y extremos.

Como veremos en la sesión dedicada a Descriptiva, los estadísticos 
descriptivos muestrales se pueden obtener de varias maneras 
dependiendo del paquete.
◦ El paquete base utiliza la función summary(x). 
◦ summary(df$Age)
◦ Y stats ofrece fivenum(x)
◦ fivenum(df$Age) #min, primer cuartil, median, segundo cuartil, y max. (Tukey hinges)

GRADO MEDICINA BIOESTADÍSTICA
Bonus sobre enfoque numérico.

◦ El paquete psych utiliza la función describe(x) que ofrece más información.
◦ Permite obtenerlos por grupos de manera fácil.
◦ describeBy(df$Age,df$Sex)
◦ El paquete Hmisc utiliza una función con el mismo nombre describe() (* 
recuerde que el último que entra enmascarará la función el anterior. Se la puede llamar 
aunque esté enmascarada).
◦ describe(df$Age)

◦ Paquete doBy
◦ summaryBy(Age+Sex~ami,data=df)

GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Enfoque gráfico.

Visualizamos:
◦ Histogramas.
◦ hist(df$Age)
◦ Tallo y hojas. (Stem&Leaf) 
◦ stem(df$Age)
◦ QQ‐plot frente a distribución normal.
◦ qqnorm(df$Age)
◦ Boxplots
◦ boxplot(df$Age, main="Boxplot Age")
◦ También puede ayudar
◦ plot(density(df$Age)) #se puede dibujar sobre el 
histograma.
◦ hist(df$Age,prob=T)
◦ lines(density(df$Age))

GRADO MEDICINA BIOESTADÍSTICA
Análisis de la normalidad. Test de hipótesis.

Usar con criterio (observando todo lo anterior). Por citar algunos:
◦ Test de Kolmogorov‐Smirnof (con la corrección de Lilliefors).
◦ Test de Shapiro‐Wilk
◦ Test de Shapiro‐Francia
◦ Test de D'Agostino.
◦ Test de Anderson‐Darling 
◦ Cramer–von Mises
◦ Test de Jarque‐Bera
◦ …

En clase de teoría comentaremos algunos de los problemas que tienen estos test y la 
importancia de realizar un análisis integrando los resultados de los tres enfoques 
(especialmente el gráfico y los test de normalidad).
El paquete fBasics incluye casi todos y será el que utilizaremos. No hay que pedir todos. 
◦ Aunque depende de la situación, en este curso utilizaremos el test de D'Agostino que presenta algunas ventajas, 
cuyo detalle escapa a los objetivos de este curso introductorio.
◦ library(fBasics)
◦ dagoTest(df$Age)  # Para obtenerla por grupos, acepta tapply y by. No acepta aggregate.

GRADO MEDICINA BIOESTADÍSTICA

También podría gustarte