MSF Ademir Pérez
Práctica 1 uso de R, y RStudio; Econometría UES
En esta práctica se aborda, de manera sencilla, como se pueden realizar las operaciones con matrices en R
# los siguientes datos, se han obtenido de la tabla 4.1 del libro de Maddalla, Introducción a la Econometría:
#Variable dependiente
Y<-matrix(data = c(30,20,36,24,40),
nrow = 5,
ncol = 1,byrow = TRUE)
colnames(Y) <-c("Y")
print(Y)## Y
## [1,] 30
## [2,] 20
## [3,] 36
## [4,] 24
## [5,] 40
#Variables Explicativas y la columna del término independiente
X<-cbind(rep(x = 1,5),
matrix(data = c(4,10,3,8,6,11,4,9, 8,12),
nrow = 5,
ncol = 2,
byrow = TRUE))
colnames(X)<-c("Cte","X1","X2")
print(X)## Cte X1 X2
## [1,] 1 4 10
## [2,] 1 3 8
## [3,] 1 6 11
## [4,] 1 4 9
## [5,] 1 8 12
Descargue el siguiente archivo practica_1.csv
library(readr)
library(dplyr)
# la ruta cambiará en su maquina
archivo<-"D:/practicas/practica_1.csv"
datos<-read_csv(file = archivo)
Y_<-datos %>% select("Y") %>% as.matrix()
temp<-
X_<-datos %>% mutate(Cte=1) %>% select("Cte","X1","X2") %>% as.matrix()print(X_)## Cte X1 X2
## [1,] 1 4 10
## [2,] 1 3 8
## [3,] 1 6 11
## [4,] 1 4 9
## [5,] 1 8 12
print(Y_)## Y
## [1,] 30
## [2,] 20
## [3,] 36
## [4,] 24
## [5,] 40
Para multiplicar matrices se usará el comando %*%, para transponer se usará el comando t()
#Se usarán las matrices X & Y creadas previamente
#la siguiente operación obtiene la matriz X'X
XX<-t(X)%*%Xprint(XX)## Cte X1 X2
## Cte 5 25 50
## X1 25 141 262
## X2 50 262 510
#La siguiente operación obtiene la matriz X'Y
XY<-t(X)%*%Y %>% as.matrix()print(XY)## Y
## Cte 150
## X1 812
## X2 1552
En el caso de la obtención de inversas, se utilizará el comando solve()
XX_inv<-solve(XX)print(XX_inv)## Cte X1 X2
## Cte 40.825 4.375 -6.25
## X1 4.375 0.625 -0.75
## X2 -6.250 -0.750 1.00
Beta<-XX_inv%*%XY
colnames(Beta)<-c("parámetros")print(Beta)## parámetros
## Cte -23.75
## X1 -0.25
## X2 5.50
Beta_<-solve(a = XX,b = XY)
colnames(Beta_)<-c("parámetros")print(Beta_)## parámetros
## Cte -23.75
## X1 -0.25
## X2 5.50
autovalores<-eigen(XX)#Muestra los autovalores y los autovectores
print(autovalores)## eigen() decomposition
## $values
## [1] 650.78185037 5.19448432 0.02366531
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.08623239 0.1629390 0.9828606
## [2,] -0.45874789 -0.8822205 0.1060061
## [3,] -0.88437229 0.4417441 -0.1508239
#Muestra sólo los autovalores
print(autovalores$values)## [1] 650.78185037 5.19448432 0.02366531