Medidas estadísticas

Page 1

Medidas de Posici贸n y Variabilidad


MEDIDAS DE POSICIÓN Y VARIABILIDAD

R con R

PRINCIPALES MEDIDAS ESTADÍSTICAS I.

OBJETIVO Emplear comandos, funciones y librerías para calcular las principales medidas de posición y variabilidad.

II.

DESCRIPCIÓN En la aplicación de los métodos de estadística descriptiva resulta importante determinar el proceso adecuado para resumir la información recolectada a través de ciertos valores numéricos o indicadores, los cuales deben reflejar la tendencia de los datos a agruparse o concentrase alrededor de dichos valores. Clasificación de las medidas estadísticas: 1) De tendencia o posición - Media - Mediana - Moda 2) De variablilidad o dispersión - Rango - Rango intercuatílico - Variancia - Desviación estándar - Coeficiente de variabilidad 3) De asimetría - A la derecha o positiva - A la izquierda o negativa

III.

CASO APLICATIVO Se tiene un conjunto de registros del Hospital Centro de Salud Materno de San Bartolomé. Se desea realizar análisis exploratorio de las variables. Data: http://rconr.webcindario.com/data/bartolome.txt Descripción de variables:      

IV.

caso edad estado partos peso sexo

: : : : : :

Número de caso Edad de la madre Estado civil de la madre Número de partos de la madre Peso del hijo en kg Sexo del hijo

DESARROLLO Para desarrollar la aplicación se tomará en cuenta la clasificación de la variable; entonces empezaremos con la lectura de los datos. 1


MEDIDAS DE POSICIÓN Y VARIABILIDAD

R con R

SOLUCIONARIO DE LA APLICACIÓN > getwd() #Identificar la dirección de trabajo [1] "C:/Users/DANNY/Documents" > setwd("G:/R") #Asignar la dirección donde se desea trabajar > dir() #Ver los archivos de

la carpeta de trabajo

[1] "bartolome.txt" "notas.txt" > data <- read.table("bartolome.txt", header = TRUE) #Leer la data > head(data) #Muestra los 6 primeros registros caso edad estado partos peso sexo 1 1 25 Conviv 2 2.90 Femenino 2 2 22 Conviv 2 2.90 Femenino 3 3 32 Conviv 4 4.04 Masculino 4 4 22 Conviv 1 4.35 Femenino 5 5 18 Casada 1 3.60 Masculino 6 6 21 Casada 3 3.50 Masculino > str(data) #Muestra el tipo de dato de las variables 'data.frame': 45 obs. of 6 variables: $ caso : int 1 2 3 4 5 6 7 8 9 10 ... $ edad : int 25 22 32 22 18 21 20 19 23 26 ... $ estado: Factor w/ 3 levels "Casada","Conviv",..: 2 2 2 2 1 1 3 1 1 1 ... $ partos: int 2 2 4 1 1 3 2 1 3 2 ... $ peso : num 2.9 2.9 4.04 4.35 3.6 3.5 3.2 3 3.6 2.8 ... $ sexo : Factor w/ 2 levels "Femenino","Masculino": 1 1 2 1 2 2 2 1 2 2 ... > names(data) #Muestra los nombres de las variables [1] "caso"

"edad"

"estado" "partos" "peso"

"sexo"

> attach(data) #Para jalar las variables de manera directa

1. MEDIDAS ESTADÍSTICAS A. DE POSICIÓN > length(peso) [1] 45 > sum(peso) [1] 147.76 > mean(peso) [1] 3.283556 > median(peso) [1] 3.18

> install.packages("modeest") > library(modeest) > mfv(peso) [1] 3.0 3.3

2


MEDIDAS DE POSICIĂ“N Y VARIABILIDAD

R con R

> ###### > moda=function(x){ + m=sort(table(x),decreasing=TRUE) + mode=names(m[m==m[1]]) + mode=as.numeric(mode) + return(mode) } > ###### > moda(peso) [1] 3.0 3.3

> quantile(peso,prob=0.7) 70% 3.48 > quantile(peso,prob=c(0.2,0.5)) 20%

50%

2.932 3.180

B. DE VARIABILIDAD > rango<-max(peso)-min(peso) > range(peso) [1] 2.62 4.65 > RIC<-as.numeric(quantile(peso,0.75)-quantile(peso,0.25)) > RIC [1] 0.59

> ###### > RIC<-function(x){ + ric<-as.numeric(quantile(x,0.75)-quantile(x,0.25)) + return(ric) } > ###### > RIC(peso) [1] 0.59 > IQR(peso) [1] 0.59

> varianza<-sum((peso-mean(peso))^2)/(length(peso)-1) > varianza [1] 0.1998325

3


MEDIDAS DE POSICIÓN Y VARIABILIDAD

R con R

> ###### > VAR<-function(x){ + variance<-sum((x-mean(x))^2)/(length(x)-1) + return(variance) } > ######

> VAR(peso) [1] 0.1998325 > var(peso) [1] 0.1998325

> desv<-sqrt(varianza) > sd(peso) [1] 0.4470263

> cv<-(sd(peso)/abs(mean(peso)))*100 > cv [1] 13.61409

> ###### > CV<-function(x){ + coef.var<-(sd(x)/abs(mean(x)))*100 + return(coef.var) } > ###### > CV(peso) [1] 13.61409

C. DE ASIMETRÍA > notas<-read.table("notas.txt", header=TRUE) > notas A

B

C

1

1

4

5

2

3

5 11

3

3

8 14

4

5

9 23

5

8 15 15

6

11 18 12

7

15 15

9

8

24

9

6

9

16

8

2

10

9

5

2

11

5

4

1

4


MEDIDAS DE POSICIÓN Y VARIABILIDAD

R con R

> ##DISTRIBUCIÓN SIMETRICA > plot(notas$B,type="o",main="Poligono de Frecuencias",col="blue")

> ##DISTRIBUCIÓN ASIMETRICA A LA IZQUIERDA > plot(notas$A,type="o",main="Poligono de Frecuencias",col="red")

> ##DISTRIBUCIÓN ASIMETRICA A LA DERECHA > plot(notas$C,type="o",main="Poligono de Frecuencias",col="red")

> as<-3*(mean(peso)-median(peso))/sd(peso) > as [1] 0.6949628

5


MEDIDAS DE POSICIĂ“N Y VARIABILIDAD

R con R

> ###### > as<-function(x){ + as<-3*(mean(x)-median(x))/sd(x) + return(as) } > ######

> desv.cuart<-(quantile(peso,prob=0.75)-quantile(peso,prob=0.25))/2 > ampl.cuart<-quantile(peso,prob=0.9)-quantile(peso,prob=0.1) > ku<-as.numeric(desv.cuart/ampl.cuart)

> ###### > ku<-function(x){ + desv.cuart<-(quantile(x,prob=0.75)-quantile(x,prob=0.25))/2 + ampl.cuart<-quantile(x,prob=0.9)-quantile(x,prob=0.1) + ku<-as.numeric(desv.cuart/ampl.cuart) + return(ku) } > ######

> install.packages("fBasics") > library(fBasics) > skewness(peso) [1] 0.9671392 attr(,"method") [1] "moment" > kurtosis(peso) [1] 0.5941128 attr(,"method") [1] "excess"

> boxplot(peso)

6


MEDIDAS DE POSICIÓN Y VARIABILIDAD

R con R

> boxplot(peso,main="Peso",col=5)

> stem(peso)

The decimal point is 1 digit(s) to the left of the |

26 | 255 28 | 006000457 30 | 000058000488 32 | 00000 34 | 00006 36 | 0022 38 | 050 40 | 04 42 | 5 44 | 46 | 5

2. EXPLORACIÓN DE DATOS > x<-c(NA,50,52,53,54,NA,NA,63,64,75,76,NA,85,120) > is.na(x) [1]

TRUE FALSE FALSE FALSE FALSE

TRUE

TRUE FALSE FALSE FALSE FALSE

TRUE FALSE FALSE

> x[!is.na(x)] [1]

50

52

53

54

63

64

75

76

85 120

> which(is.na(x)) [1]

1

6

7 12

> y<-c(11.8,NaN,10.5,NaN,12,NaN,63,64,75,76,14) > is.nan(y) [1] FALSE

TRUE FALSE

TRUE FALSE

TRUE FALSE FALSE FALSE FALSE FALSE

> x[!is.nan(y)] [1]

NA

52

54

NA

63

64

75

76

NA 120

7


MEDIDAS DE POSICIĂ“N Y VARIABILIDAD

R con R

> which(is.nan(y)) [1] 2 4 6 > boxplot(x)

> stem(x) The decimal point is 1 digit(s) to the right of the | 4 | 0234 6 | 3456 8 | 5 10 | 12 | 0

> sum(x,na.rm=TRUE) [1] 692 > mean(x,na.rm=TRUE) [1] 69.2 > median(x,na.rm=TRUE) [1] 63.5 > sd(x,na.rm=TRUE) [1] 21.43103 > var(x,na.rm=TRUE) [1] 459.2889

8


MEDIDAS DE POSICIĂ“N Y VARIABILIDAD V.

R con R

FUNCIONES CREADAS:

> ###### resumen <- function(x){ mean <- mean(x) median <- median(x) moda <- function(x){ m <- sort(table(x),decreasing = TRUE) mode <- names(m[m==m[1]]) mode <- as.numeric(mode) } var <- var(x) sd <- sd(x) cv <- (sd/mean)*100 as <- function(x){ as <- 3*(mean(x)-median(x))/sd(x) } ku <- function(x){ desv.cuart <- (quantile(x, prob = 0.75)-quantile(x, prob = 0.25))/2 ampl.cuart <- quantile(x, prob = 0.9)-quantile(x, prob = 0.1) ku <- as.numeric(desv.cuart/ampl.cuart) } cuadro <- cbind(length(x), mean, median, moda(x), var, sd, cv, as(x), ku(x)) colnames(cuadro) = c("N", "Mean", "Median", "Mode", "var", "sd", "cv", "As", "Ku") print(round(cuadro[1,],2)) par(mfrow = c(2,2)) plot(table(x), type = "p", main = "Poligono de Frecuencias", col = "blue") k <- 1+3.3*log10(length(x)) k <- round(k) freq.abs <- table(cut(x, breaks=k)) freq.porc <- round((freq.abs/length(x))*100, digits=2) plot(freq.porc,type="o", main="Poligono de Frecuencias", col=2) hist(x, main="Histograma", col="orange") boxplot(x, main = "Diagrama de cajas", col = "cyan") stem(x) }

9


MEDIDAS DE POSICIĂ“N Y VARIABILIDAD

R con R

> resumen(peso) N 45.00

Mean Median

Mode

var

sd

cv

As

Ku

3.28

3.00

0.20

0.45

13.61

0.69

0.28

3.18

The decimal point is 1 digit(s) to the left of the |

26 | 255 28 | 006000457 30 | 000058000488 32 | 00000 34 | 00006 36 | 0022 38 | 050 40 | 04 42 | 5 44 | 46 | 5

10


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.