Professional Documents
Culture Documents
5 7 1
> 5+7-1
8 x 9 11 [1] 11
> 8*9+11
23 1 [1] 83
> 2^3-1
1 [1] 7
3 > 3^0.5-1/2
2 [1] 1.232051
5 7 1 > (5+7-1)/(8*9+11)
[1] 0.1325301
8 x 9 11
Ing. Joao Rado Huaringa
R STUDIO
2. Administrador de
datos y objetos
1. Editor de sintaxis
4. Entorno para
gestionar gráficos,
3. Consola de paquetes y obtener
resultados información
> a<-c(28,33,29,27,20)
> a
[1] 28 33 29 27 20
> b<-c("amarillo","rojo","azul","azul","blanco")
> b
[1] "amarillo" "rojo" "azul" "azul" "blanco"
> is.vector(a)
[1] TRUE
> length(a)
[1] 5
is.vector()
[[2]]
[1] 1 1 1 2 <NA>
Levels: 1 2
> L2<-list(colores=b,numeros=e)
> L2
$colores
[1] "amarillo" "rojo" "azul" "azul" "blanco"
$numeros
[1] 5 5 6
BD Funciones
Para leer un conjunto de datos se debe hacer uso de funciones. Consiste en convertir
nuestro archivo en un objeto de R de tal forma que pueda ser leído y almacenado de
forma intrínseca por el software. Existen varias funciones que cumplen esta tarea. A
continuación se presentan las más importantes.
Funciones Descripción
> data<-scan(file="")
1: 10 12 Si se coloca comillas en vez
3: 15 de algún nombre, la entrada
4: 21 23 de datos se hará por teclado.
6: Pero si se coloca el nombre
Read 5 items se leerá el archivo indicado.
> data
[1] 10 12 15 21 23
> data2<-scan(file="hiper.txt")
Read 20 items
> data2
[1] 105 115 116 117 112 121 121 110 110 114 114 115 114 106 125 114 106 113 110
122
> data5<-read.csv("car.txt",T)
> head(data5)
precio_compra tam num_puertas cantidad_personas tam_maletera seguridad calificacion
1 muy_alto alto mas_de_4 2 pequeño bajo inaceptable
2 muy_alto alto mas_de_4 2 pequeño intermedio inaceptable
3 muy_alto alto mas_de_4 2 pequeño alto inaceptable
4 muy_alto alto mas_de_4 2 intermedio bajo inaceptable
5 muy_alto alto mas_de_4 2 intermedio intermedio inaceptable
6 muy_alto alto mas_de_4 2 intermedio alto inaceptable
> library(foreign)
> data6<-read.spss("vinos.sav",T)
La función ha sido creada
> data6
en el 2000. Es posible que
> data6_frame<-data.frame(data6) por cambios en SPSS
> head(data6_frame) algunas características no
V1 V2 V3 V4 puedan ser leídas. Sin
1 3064 1201 10 361 embargo, recoge la
2 3000 1053 11 338 información de la hoja de
datos .sav
3 3155 1133 19 393
4 3085 970 4 467
5 3245 1258 36 294
6 3267 1386 35 225
- Actualice los valores de 0 a «H» para tortugas hembra y de 1 a «M» para las
tortugas macho
> datos$Sexo<-replace(datos$Sexo,datos$Sexo==0,"H")
> datos$Sexo<-replace(datos$Sexo,datos$Sexo==1,"M")
> datos$Sexo
[1] "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H"
[22] "H" "H" "H" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
[43] "M" "M" "M" "M" "M" "M"
> head(datos)
Longitud Ancho Altura Sexo La función replace() permite
1 98 81 38 H reemplazar datos de un vector por
2 103 84 38 H
3 103 86 42 H otros
4 105 86 42 H
5 109 88 44 H
6 123 92 50 H
- Muestre las tortugas macho que tienen una longitud de caparazón inferior a
100.
> subset(macho,macho$Longitud<100)
Longitud Ancho Altura Sexo
25 93 74 37 M
26 94 78 35 M
27 96 80 35 M
> table(datos$Sexo)
H M
24 24
> apply(datos[1:3],2,mean)
Longitud Ancho Altura
124.7083 95.4375 46.3750 La función apply() permite
> tapply(datos$Longitud,datos$Sexo,mean) obtener una medida resumen
H M para cierta cantidad de variables
136.0417 113.3750 de un objeto de datos atómico.
A diferencia de la función apply() función tapply() permite obtener una medida resumen para
una variable (primer vector) según un factor específico (segundo vector).
axes=TRUE Permite dibujar los ejes en el gráfico. Para no hacerlo ejecutar FALSE
type=«p» Especifica el tipo de presentación del gráfico. Por ejemplo: p=puntos, l=líneas,
h=líneas verticales, etc.
xlim, ylim Especifican los límites para las escalas de los ejes x e y. Se presentan en forma
de vector
xlab, ylab Permiten colocar nombres a los ejes x e y respectivamente.
Recordar que existen aún más argumentos que pueden ser consultados en el
panel de ayuda de R Studio.
Ing. Joao Rado Huaringa
GRÁFICOS IMPORTANTES
Estadística descriptiva:
- Gráfico de barras
- Gráfico de pie
- Grafico de varas
- Histograma
- Gráfico de tallos y hojas
- Gráfico de cajas
- Caras de Chernoff
0 1
24 24
> barplot(tabla)
10
5
0
1 2 3
N° de marcas en caparazón
8 | 8
10 | 3359
12 | 333334688
14 | 17935589
16 | 27
> stem(datos$Longitud[25:48])
9 | 346
10 | 123467
11 | 2346779
12 | 001578
13 | 15
segments(x0,y0,x1,y1) dibuja una línea desde el punto (x0,y0) hasta el punto (x1,y1)
100
Nuevo texto
> lines(x,x)
> segments(0,30,8,80)
80
> segments(0,0,8,80,col="red")
> segments(2,0,8,80,col="blue")
60
> title("Gráfica")
y
> text(2,100,"Nuevo texto")
40
20
0
2 4 6 8 10
IC ( ) ˆ T ( sˆ )
Donde:
𝜃መ es el estimador puntual del parámetro θ
𝑇 es el valor de un estadístico tabular al (1- α/2) %
𝑠𝜃 es el error estándar del estimador puntual
s
IC ( ) x t(1 /2,n 1)
n
b) Estimación de intervalo para la proporción (Método exacto)
El intervalo de confianza al (1-α)% para la proporción de datos provenientes de una
distribución bernoulli
( n 1) s 2
( n 1) s 2
IC ( 2 ) 2 , 2
(1 /2) ( /2)
icvar<-function(datos,nivel){
alfa<-1-nivel
n<-length(datos)
s2<-var(datos)
LI<-(n-1)*s2/qchisq(1-alfa/2,n-1)
LS<-(n-1)*s2/qchisq(alfa/2,n-1)
limites<-c(LI,LS)
return(limites)
}
Bilateral
Tipos de Pruebas H0: θ=θ0 vs H1: θ≠θ0
de Hipótesis
Unilateral Derecha
H0: θ1- θ2≤θ0 vs H1: θ1- θ2>θ0
Para una relación
de parámetros θ1
y θ2 *
Unilateral Izquierda
H0: θ1- θ2≥θ0 vs H1: θ1- θ2<θ0
Bilateral
H0: θ1- θ2=θ0 vs H1: θ1- θ2≠θ0
* Para parámetros media y proporción. En el caso de varianza se debe
considerar una razón θ1/θ2
Ing. Joao Rado Huaringa
INFERENCIA ESTADÍSTICA
Pruebas de Hipótesis para un parámetro θ
.
Una t.test(x, alternative = c("two.sided", "less", "greater"),
media (μ) mu = 0, paired = FALSE, conf.level = 0.95,…)
Donde:
• x: un vector numérico de datos
• alternative: tipo de prueba
• mu: valor de contraste hipotético
• paired: prueba pareada
• conf.level: nivel de confianza
.
Una
binom.test(x, n, p = 0.5, alternative = c("two.sided",
"less", "greater"), conf.level = 0.95)
proporción
(π)
Donde:
• x: número de éxitos
• n= tamaño de muestra
• p: valor de contraste hipotético
• alternative: tipo de prueba
• conf.level: nivel de confianza
.
Razón de var.test(x, y, ratio = 1, alternative = c("two.sided", "less",
varianzas "greater"), conf.level = 0.95, ...)
(σ21 /σ22)
Donde:
• x: vector numérico de datos de la muestra 1
• y: vector numérico de datos de la muestra 2
• ratio: valor del contraste hipotético de razón de varianzas
• alternative: tipo de prueba
• conf.level: nivel de confianza
Donde:
• x: vector numérico de datos de la muestra 1
• y: vector numérico de datos de la muestra 2
• alternative: tipo de prueba
• mu: valor de contraste hipotético de diferencia de medias
• var.equal: es TRUE si las varianzas son homogéneas. Caso contrario es FALSE
• conf.level: nivel de confianza
Ing. Joao Rado Huaringa
INFERENCIA ESTADÍSTICA
Pruebas de Hipótesis para dos parámetros θ1 y θ2
Donde:
• x: vector numérico de datos con los conteos de la muestra 1 y muestra 2
• n: vector numérico de datos con los tamaños de la muestra 1 y muestra 2
• p: vector de probabilidades a contrastar del mismo tamaño al número de muestras.
Para la diferencia de proporciones no se activa este parámetro.
• alternative: tipo de prueba
• conf.level: nivel de confianza
• correct: Si su valor es TRUE aplica la corrección de Yates. Si es FALSE el valor del
estadístico es similar a la prueba Z. Ing. Joao Rado Huaringa
APLICACIÓN 4 (Continuación)
Usando los datos del archivo pollería.txt, se
.> datos<-read.delim("clipboard")
> head(datos)
X1 X2 X3 Local
1 194.74 2 3 San Juan de Miraflores
2 203.36 2 3 San Juan de Miraflores
3 207.02 1 3 San Juan de Miraflores
4 193.90 1 3 San Juan de Miraflores
5 197.83 1 3 San Juan de Miraflores
6 192.32 2 3 San Juan de Miraflores
> SJM<-subset(datos,datos$Local=="San Juan de Miraflores")
> LM<-subset(datos,datos$Local=="La Molina")
> LO<-subset(datos,datos$Local=="Los Olivos")
> CL<-subset(datos,datos$Local=="Cercado de Lima")
H0: ρ=0
H1 : ρ ≠0
r
El estadístico de prueba es: tcal ~ t( n 2)
(1 r )
2
n2
Gráfica de Dispersión
910
905
900
cor.data$Y
895
890
885
880
60 70 80 90
cor.data$X
Donde:
• x: vector numérico de datos con los datos de la variable X en la muestra
• y: vector numérico de datos con los datos de la variable Y en la muestra
• alternative: tipo de prueba
• method: tipo de coeficiente de correlación a usar. Por defecto es Pearson.
• conf.level: nivel de confianza
> cor.test(cor.data$X,cor.data$Y)
Yi 0 1 X i i
Incremento 69 71 75 77 74 78 75 76 77 78 78 81 82 84 85
Alimento 10 12 16 17 16 18 19 20 21 22 23 32 33 35 37
85
66.2284518 0.5032424
> abline(mod,col="red")
80
Incremento
La función lm() de R permite obtener las estimaciones
75
por mínimos cuadrados de distintos modelos lineales.
La regresión lineal simple al ser uno de ellos se obtiene
70
usándola.
La ecuación de regresión estimada es la siguiente: 10 15 20 25 30 35
R2=SCR*100%/SCT
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 66.2284 1.0038 65.98 < 2e-16 ***
Alimento 0.5032 0.0427 11.79 2.59e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
d) Diagnóstico de residuales
Existen varias herramientas gráficas para analizar los residuales
obtenidos de un modelo de regresión. Es importante realizar un
adecuado diagnóstico ya que estos influyen en el cumplimiento de los
supuestos así como en el modelo.
Las gráficas que presenta el R son:
Valores ajustados vs. Residuales
Cuantiles teóricos normales vs. Residuales estandarizados
(Gráfica Q-Q)
Valores ajustados vs. Raíz de los residuales estandarizados
(Locación - Escala)
Leverage vs. Residuales estandarizados
Ing. Joao Rado Huaringa
APLICACIÓN 6
Análisis de Regresión Lineal Simple
Diagnóstico de residuales
e) Verificación de Supuestos
En R, se pueden utilizar distintas pruebas para verificar el supuesto de
normalidad y varianza constante de los errores. Las hipótesis a poner a
prueba son las siguientes:
Normalidad
H0: Los errores se distribuyen normalmente
H1 : Los errores no se distribuyen normalmente
Varianza constante
H0: Los errores tienen varianza constante
H1 : Los errores no tienen varianza constante
Ing. Joao Rado Huaringa
APLICACIÓN 6
Una de las pruebas para verificar la normalidad en datos es Shapiro-Wilk. Está
basada en un cociente de dos estimaciones de varianza para la distribución
normal y es usada generalmente en muestras pequeñas. La función en el
paquete R es shapiro.test()
> shapiro.test(mod$residuals)
data: mod$residuals
W = 0.95084, p-value = 0.5377
f) Estimación puntual
La estimación para un valor medio o individual de Yi se obtiene reemplazando
el valor particular de Xi en la siguiente ecuación de regresión:
> nuevo<-data.frame(Alimento=25)
> nuevo
Alimento
La función predict()
1 25 obtiene predicciones e
> predict(mod,nuevo) intervalos de confianza
1
78.80951
para un modelo de
> predict(mod,nuevo,interval="confidence",level=0.90) regresión. Para poder
fit lwr upr utilizarla es necesario
1 78.80951 78.15731 79.46172
> predict(mod,nuevo,interval="prediction",level=0.90)
almacenar el nuevo valor
fit lwr upr (o nuevos valores de X) en
1 78.80951 76.34617 81.27285 un objeto data.frame.