R Instrucciones Iniciales

Instalar el paquete “car”: install.packages(“car”) Cargar la librería car: library(car)

library("car")

Cargar los datos Chile del paquete car: data(Salaries, package=“car”) Ver los datos en su escritorio de trabajo (pantalla): Salaries Ver (ayuda) que representa y una descripción de los datos: help(Salaries) Ver los nombres exactos de las variables: names(Salaries)

datos<- Salaries
names(datos)
## [1] "rank"          "discipline"    "yrs.since.phd" "yrs.service"  
## [5] "sex"           "salary"

Tenga en cuenta quienes son variables cuantitativas y cuales cualitativas

head(datos)
##        rank discipline yrs.since.phd yrs.service  sex salary
## 1      Prof          B            19          18 Male 139750
## 2      Prof          B            20          16 Male 173200
## 3  AsstProf          B             4           3 Male  79750
## 4      Prof          B            45          39 Male 115000
## 5      Prof          B            40          41 Male 141500
## 6 AssocProf          B             6           6 Male  97000

Diagrama de Dispersion

A pesar que algunas variables no son cuantitativas, al contrario son categoricas y por ejemplo el rank es ordinal, vamos a realizar el diagrama de dispersión

pairs(datos,col="blue")

Teniendo en cuenta el gráfico vamos correr el modelo de regresión simple entre las variables: “yrs.since.phd” “yrs.service”, pero primero vamos a revisar la correlación entre las variables. Por lo tanto vamos a determinar el coeficiente de correlación asumiendo normalidad

cor(datos$yrs.since.phd,datos$yrs.service)
## [1] 0.9096491

Considera que la correlación entre estas dos variables es alta, interprete el resultado

regresion<- lm(yrs.since.phd ~ yrs.service, data=datos)
regresion
## 
## Call:
## lm(formula = yrs.since.phd ~ yrs.service, data = datos)
## 
## Coefficients:
## (Intercept)  yrs.service  
##      6.4384       0.9013

Resultados

Es correcta la elección de la variable dependiente yrs.since.phd explique porque Escriba el modelo de la forma:y=intercepto+oendiente*x

Interprete el intercepto y la pendiente

summary(regresion)
## 
## Call:
## lm(formula = yrs.since.phd ~ yrs.service, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.518  -3.748  -1.550   2.522  24.450 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  6.43838    0.45323   14.21   <2e-16 ***
## yrs.service  0.90132    0.02071   43.52   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.36 on 395 degrees of freedom
## Multiple R-squared:  0.8275, Adjusted R-squared:  0.827 
## F-statistic:  1894 on 1 and 395 DF,  p-value: < 2.2e-16

Pruebas de Hipotesis

Teniendo en cuenta el p-value=2e-16 segun el resultado de la prueba, se rechaza o no la hipotesis con valor de significancia del 5%? que la pendiente es cero Teniendo en cuenta el p-value=2e-16 segun el resultado de la prueba, se rechaza o no la hipotesis alrededor de la pendiente con valor de significancia del 5%? Considera que la variable yrs.service es significativa en el modelo

Ajuste del Modelo y Prueba

Teniendo en cuenta el valor de R cuadrado adj=0.827 , considera usted que el modelo tiene un buen ajuste lineal? Interprete el valor R cuadrado ajustado Teniendo en cuenta que la prueba para verficar el ajuste de los datos al modelo esta dado por F-statistic: 1894 on 1 and 395 DF, p-value: < 2.2e-16 considera que el modelo cumple con el ajuste? ## Estimaciones con el modelo Encuentre las estimaciones de yrs.since.phd para los siguientes valores de la variable x:

x<- c(12,11,35)
x
## [1] 12 11 35

Graficas del modelo

plot(datos$yrs.service,datos$yrs.since.phd, xlab = "años de serivio", ylab = "años de PhD",col="red")
abline(regresion)

## Análisis de los Residuos Validación del modelo

En este caso se desea determinar los residuos(error)entre el modelo y lo observado y ver si los residuos cumplen con: 1. Tener media=0 2. Varianza= constante 3. Se distribuyen normal(0,constante) Los residuos se generan a continuación (por facilidad solo generamos los primeros 20 [1:20])

residuos <- rstandard(regresion)
residuos[1:20]
##           1           2           3           4           5           6 
## -0.68414645 -0.16058147 -0.96218984  0.63921055 -0.63640410 -1.09326547 
##           7           8           9          10          11          12 
##  0.52900688 -0.37536060 -0.64730590 -0.87095822 -0.30826102 -0.23226232 
##          13          14          15          16          17          18 
## -1.18678371 -0.83107204 -0.49733467  0.53469705 -1.02094494  0.17157280 
##          19          20 
##  1.83697173  0.02133757

Valores ajustados, es decir el valor de la variable y dad0 por el modelo (por facilidad solo generamos los primeros 20 [1:20])

valores.ajustados <- fitted(regresion)
valores.ajustados[1:20]
##         1         2         3         4         5         6         7 
## 22.662223 20.859574  9.142352 41.590044 43.392693 11.846326 27.168847 
##         8         9        10        11        12        13        14 
## 46.997993 24.464873 22.662223 13.648976  8.241027  7.339702  6.438377 
##        15        16        17        18        19        20 
## 22.662223  9.142352 24.464873 37.083420 27.168847 38.886070

Prueba de normalidad, utilizamos la prueba QQ que permite deducir si los datos se ajustan a la normal (si los datos estan cerca de la línea)

qqnorm(residuos,col="blue")
qqline(residuos,col="red")

Teniendo en cuenta esta grafica condidera que los que estan a más de dos desviaciones estandar se distribuyen normal?