Crear una función que halle la correlación entre dos variables, esta debe ir aumentando la cantidad de datos que evalua de 5 en 5 (ejem) cor1 = x[1:5] y[1:5] (ejem) cor2 = x[1:10] y[1:10]
set.seed(123)
rto=rnorm(100, 3, 0.3)
get=runif(100, 1.01, 1.15)
rto[c(1:5)]
## [1] 2.831857 2.930947 3.467612 3.021153 3.038786
rto[10]
## [1] 2.866301
mi.funtion1=function(x) {
i=rto[1:x]
j=get[1:x]
z<-cor(i,j)
return(z)
}
mi.funtion1(10) #debo introducir el valor
## [1] 0.6001101
mirto.funtion=function(x){
for (i in 5:x) {
y<-rto[1:i]
return(y)
}
}
mirto.funtion(5)
## [1] 2.831857 2.930947 3.467612 3.021153 3.038786
miget.funtion=function(x){
for (j in 5:x) { z<-get[1:j]
return(z)
}
}
miget.funtion(5)
## [1] 1.043422 1.144730 1.094191 1.082104 1.066360
get[1:5]
## [1] 1.043422 1.144730 1.094191 1.082104 1.066360
mi2.funtion=function(x){
for (i in 1:x) { y<-rto[1:i]}
for (j in 1:x) { z<-get[1:j]}
f<-cor(y,z)
return(f)
}
mi2.funtion(15)
## [1] 0.5212075
cor(rto[c(1:15)],get[c(1:15)])
## [1] 0.5212075
mi3.funcion = function(x){
result=NULL
for(i in 1:x){
result[i] <- cor(rto[1:(i*5)],get[1:(i*5)])
}
print(result)
}
mi3.funcion(20)
## [1] 0.16405491 0.60011012 0.52120751 0.39905281 0.30290401 0.31330423
## [7] 0.22905668 0.18130545 0.19564485 0.16289304 0.12727841 0.18220679
## [13] 0.12946588 0.08844492 0.11029242 0.10603584 0.09409544 0.07907524
## [19] 0.05966581 0.05564807
mi3b.funcion = function(x,y){
result=NULL
for(i in 1:20){
result<- cor(x[1:(i*5)],y[1:(i*5)])
print(result)
i+1
}
return(result)
}
mi3b.funcion(x = rto, y = get)
## [1] 0.1640549
## [1] 0.6001101
## [1] 0.5212075
## [1] 0.3990528
## [1] 0.302904
## [1] 0.3133042
## [1] 0.2290567
## [1] 0.1813055
## [1] 0.1956448
## [1] 0.162893
## [1] 0.1272784
## [1] 0.1822068
## [1] 0.1294659
## [1] 0.08844492
## [1] 0.1102924
## [1] 0.1060358
## [1] 0.09409544
## [1] 0.07907524
## [1] 0.05966581
## [1] 0.05564807
## [1] 0.05564807
Crear una funcion que: calcule las medias al quitar uno a uno de los datos y que haga el grafico de las medias
(ejm) media_1(x) quitando el primero
(ejm) media_2(x) quitando el segundo
(ejm) media_3(x) quitando el tercero
set.seed(234)
precio = rnorm(50, 2500, 300)
mi.media <- function(x){
me = mean(x)
return(me)
}
mi.media(precio)
## [1] 2481.107
mi2.media <- function(x){
me = mean(x[-1])
return(me)
}
mi2.media(precio)
## [1] 2476.675
mi.media1 <- function(x){
me=NULL
for(i in 1:length(x)){
me[i] = mean(x[-c(1:i)])
}
print(me)
plot(me, pch = 16 , type = "b")
}
mi.media1(precio)
## [1] 2476.675 2489.021 2498.356 2488.726 2478.748 2477.309 2475.322 2496.421
## [9] 2499.896 2508.053 2507.814 2499.304 2499.493 2495.189 2486.565 2483.492
## [17] 2491.447 2490.392 2484.984 2484.325 2481.660 2470.117 2464.465 2471.236
## [25] 2467.258 2461.580 2473.211 2491.246 2510.312 2497.731 2502.928 2514.078
## [33] 2516.684 2504.529 2496.070 2463.707 2455.925 2489.636 2485.285 2514.956
## [41] 2509.270 2526.857 2467.324 2489.694 2513.788 2438.341 2520.514 2524.784
## [49] 2647.893 NaN
##### Version final 2
mi.media1 <- function(x){
me=NULL
for(i in 1:length(x)){
me= mean(x[-c(1:i)])
print(me)
i+1
}
return(me)
}
mi.media1(precio)
## [1] 2476.675
## [1] 2489.021
## [1] 2498.356
## [1] 2488.726
## [1] 2478.748
## [1] 2477.309
## [1] 2475.322
## [1] 2496.421
## [1] 2499.896
## [1] 2508.053
## [1] 2507.814
## [1] 2499.304
## [1] 2499.493
## [1] 2495.189
## [1] 2486.565
## [1] 2483.492
## [1] 2491.447
## [1] 2490.392
## [1] 2484.984
## [1] 2484.325
## [1] 2481.66
## [1] 2470.117
## [1] 2464.465
## [1] 2471.236
## [1] 2467.258
## [1] 2461.58
## [1] 2473.211
## [1] 2491.246
## [1] 2510.312
## [1] 2497.731
## [1] 2502.928
## [1] 2514.078
## [1] 2516.684
## [1] 2504.529
## [1] 2496.07
## [1] 2463.707
## [1] 2455.925
## [1] 2489.636
## [1] 2485.285
## [1] 2514.956
## [1] 2509.27
## [1] 2526.857
## [1] 2467.324
## [1] 2489.694
## [1] 2513.788
## [1] 2438.341
## [1] 2520.514
## [1] 2524.784
## [1] 2647.893
## [1] NaN
## [1] NaN
Crear una funcion que: a partir de los datos precio del ejercicio 2 tomar muestras de tamaño 5, calcular la media y repetir ese proceso 200 veces y graficar esos 200 promedios, para calcular la desviación estandar de los promedios
mi.muestra <- function(i){
med = NULL
mu = replicate(i, sample(rto, 5))
m = as.data.frame(mu)
#print(mu)
med = print(colMeans(m))
plot(med, pch = 16)
boxplot(med)
sd = sd(med)
print(sd)
}
mi.muestra(200)
## V1 V2 V3 V4 V5 V6 V7 V8
## 2.988930 3.060929 3.057523 2.912251 3.063423 2.901482 2.999703 2.976120
## V9 V10 V11 V12 V13 V14 V15 V16
## 2.998884 2.937054 2.994433 3.122092 3.072037 2.984279 3.106849 3.096948
## V17 V18 V19 V20 V21 V22 V23 V24
## 3.290296 2.797557 2.920008 3.240979 2.964492 3.056360 3.265870 3.200950
## V25 V26 V27 V28 V29 V30 V31 V32
## 3.077929 2.982412 3.322820 2.901464 3.164859 3.054877 3.165609 3.213795
## V33 V34 V35 V36 V37 V38 V39 V40
## 2.868871 3.042191 2.923426 2.948427 3.072464 3.069997 3.047174 3.233725
## V41 V42 V43 V44 V45 V46 V47 V48
## 3.196381 3.052656 3.022266 3.166089 3.039339 3.081969 2.915462 2.864188
## V49 V50 V51 V52 V53 V54 V55 V56
## 3.009524 3.124907 3.083304 2.933980 3.254816 2.966066 2.927380 2.878319
## V57 V58 V59 V60 V61 V62 V63 V64
## 2.968699 3.014703 3.009318 3.125792 2.813821 2.895412 2.990935 3.265607
## V65 V66 V67 V68 V69 V70 V71 V72
## 3.038263 3.261903 3.197673 3.048151 3.241089 2.964251 3.042139 3.000448
## V73 V74 V75 V76 V77 V78 V79 V80
## 2.983704 3.155208 3.028212 3.073691 3.226702 3.043140 2.907269 3.026532
## V81 V82 V83 V84 V85 V86 V87 V88
## 3.172789 3.075537 3.173173 3.140273 3.135711 3.057681 3.107703 3.248531
## V89 V90 V91 V92 V93 V94 V95 V96
## 2.946387 2.985278 2.930453 2.800950 2.946881 2.944785 3.106259 3.059770
## V97 V98 V99 V100 V101 V102 V103 V104
## 2.926198 3.033414 2.896179 3.161529 2.927918 3.051746 3.109220 2.866742
## V105 V106 V107 V108 V109 V110 V111 V112
## 3.061165 2.629917 3.013167 3.116460 2.882846 3.015056 3.275954 3.023312
## V113 V114 V115 V116 V117 V118 V119 V120
## 3.208189 2.983428 3.285870 3.042918 2.835107 2.945896 2.989531 2.875953
## V121 V122 V123 V124 V125 V126 V127 V128
## 3.091671 3.236235 3.294720 3.101699 2.883429 3.094530 2.822117 2.801671
## V129 V130 V131 V132 V133 V134 V135 V136
## 2.935121 3.292829 2.907402 3.057483 2.996953 2.804038 2.998738 3.153317
## V137 V138 V139 V140 V141 V142 V143 V144
## 3.033246 3.097109 2.860782 3.083649 3.168031 2.873746 3.126156 2.955778
## V145 V146 V147 V148 V149 V150 V151 V152
## 3.093982 3.112006 3.054155 2.963835 3.018710 2.985985 3.012634 2.998210
## V153 V154 V155 V156 V157 V158 V159 V160
## 3.008759 3.227186 2.849502 3.013060 3.087770 3.004117 2.909931 3.084540
## V161 V162 V163 V164 V165 V166 V167 V168
## 3.175349 2.982654 3.051197 3.092264 3.092998 3.117749 2.852008 3.294776
## V169 V170 V171 V172 V173 V174 V175 V176
## 3.058455 3.019982 3.063650 2.999549 2.782175 3.112939 2.976907 3.113966
## V177 V178 V179 V180 V181 V182 V183 V184
## 2.930635 3.086336 3.204779 2.856779 3.083040 3.077215 2.868759 3.021481
## V185 V186 V187 V188 V189 V190 V191 V192
## 2.963804 3.276579 3.025480 2.975967 3.138342 2.740849 2.985862 2.883609
## V193 V194 V195 V196 V197 V198 V199 V200
## 2.863716 2.895299 3.086245 2.996475 3.121136 2.993020 2.822751 3.036934
## [1] 0.1247822