Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG1/Grupo2_R.R
2714 views
1
#ejercicio 1
2
3
sample(0:500,20,replace=F)
4
5
x<- sample(0:500,20,replace=F)
6
7
funcion_1 <- function(x, z1, z2, z3){
8
z1 <= x ^ 1/2
9
10
ifelse(x<=100 | x ^ 1/2)
11
12
z2 <= x - 5
13
14
ifelse(x<=300 | x - 5)
15
16
z3<= 50
17
18
ifelse(x>=300 | print(50)) }
19
20
21
#Ejercicio 2
22
23
24
set.seed(123)
25
26
#Creo mi vector con 100 observaciones aleatorias
27
v1 <- c(runif(100, min=0, max=20))
28
29
#Creo mi matriz 100x50, igual que el vector anterior con numeros aleatorios
30
M1 <- matrix(runif(5000,min=0, max=10), nrow= 100, ncol= 50)
31
dim(M1) #con ello se comprueba que la matriz tiene 100 filas y 50 columnas
32
#Creo mi función
33
34
calculator_scalar <- function( v, M, n){
35
if(! is.double(v)) stop("v must be a double")
36
if(! is.double(M)) stop("M must be a double")
37
#Defino los componentes de mi función:
38
y <- v[n]
39
z <- M[,n]
40
m3 <- min(z)
41
m4 <- max(z)
42
43
result= y-m3/ m4-m3
44
45
return(result)
46
}
47
48
#Pruebo mi función, con el índice 3, esto es el tercer componente de mi vector y la tercera columna de mi matriz
49
calculator_scalar(v1,M1,3)
50
51
52
#ejercicio 3
53
54
set.seed(15)
55
56
57
x1 <- runif(1000)
58
x2 <- runif(1000)
59
x3 <- runif(1000)
60
x4 <- runif(1000)
61
x5 <- runif(1000)
62
e <- rnorm(1000)
63
64
65
# Poblacional regression (Data Generating Process GDP)
66
67
Y <- 1 + 0.6*x1 + 1.1*x2 + 0.5*x3 + 1.2*x4 + e
68
head(Y)
69
70
X <- cbind(matrix(1,1000),x1,x2,x3,x4)
71
head(X)
72
73
beta <- solve(t(X) %*% X) %*% (t(X) %*% Y)
74
beta
75
76
77
x11 <- sample(seq(x1),100)
78
79
x11
80
81
82
83
84
85
c <- c(10, 50, 80, 120, 200, 500, 1000, 5000)
86
c[2]
87
88
x11 <- sample(seq(x1),c[1])
89
x22 <- sample(seq(x2),c[1])
90
x33 <- sample(seq(x3),c[1])
91
x44 <- sample(seq(x4),c[1])
92
x55 <- sample(seq(x5),c[1])
93
e <- rnorm(c[1])
94
95
96
97
Y <- 1 + 0.6*x11 + 1.1*x22 + 0.5*x33 + 1.2*x44 + e
98
head(Y)
99
100
X <- cbind(matrix(1,c[1]),x11,x22,x33,x44)
101
head(X)
102
103
beta10 <- solve(t(X) %*% X) %*% (t(X) %*% Y)
104
beta10
105
106
107
108
c <- c(10, 50, 80, 120, 200, 500, 1000, 5000)
109
c[2]
110
111
x11 <- sample(seq(x1),c[2])
112
x22 <- sample(seq(x2),c[2])
113
x33 <- sample(seq(x3),c[2])
114
x44 <- sample(seq(x4),c[2])
115
x55 <- sample(seq(x5),c[2])
116
e <- rnorm(c[2])
117
118
119
120
Y <- 1 + 0.6*x11 + 1.1*x22 + 0.5*x33 + 1.2*x44 + e
121
head(Y)
122
123
X <- cbind(matrix(1,c[2]),x11,x22,x33,x44)
124
head(X)
125
126
beta50 <- solve(t(X) %*% X) %*% (t(X) %*% Y)
127
beta50
128
129
c <- c(10, 50, 80, 120, 200, 500, 1000, 5000)
130
c[2]
131
132
for (i in 1:7)
133
{
134
x11 <- sample(seq(x1),c[i])
135
x22 <- sample(seq(x2),c[i])
136
x33 <- sample(seq(x3),c[i])
137
x44 <- sample(seq(x4),c[i])
138
x55 <- sample(seq(x5),c[i])
139
e <- rnorm(c[i])
140
Y <- 1 + 0.6*x11 + 1.1*x22 + 0.5*x33 + 1.2*x44 + e
141
head(Y)
142
143
X <- cbind(matrix(1,c[i]),x11,x22,x33,x44)
144
head(X)
145
146
beta_all <- solve(t(X) %*% X) %*% (t(X) %*% Y)
147
beta_all
148
}
149
150