Lista 4 Programação Estatística
1)
a)
maximo = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
max = v[1]
n = length(v)
for(i in 2:n){
if(v[i] > max) {
max = v[i]
}
}
return(max)
}
maximo(c(1,2,4,3,12,1,2,12,4,56,1,2,3))## [1] 56
b)
2)
a)
b)
minimo = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
min = v[1]
n = length(v)
for(i in 2:n){
if(v[i] < min) {
min = v[i]
}
}
return(min)
}
minimo(c(0,4,2,1,21,-2,4,5,-1,1,2))## [1] -2
c)
3)
a)
4)
media = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
n = length(v)
soma = 0
for(i in 1:n){
soma = soma + v[i]
}
media = soma/n
return(media)
}
media(1:10)## [1] 5.5
## [1] 5.5
5)
mediana = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
n = length(v)
v_o = sort(v)
if(n%%2 == 1){
mediana = v_o[(n+1)/2]
}else{
mediana = (v_o[n/2] + v_o[(n/2)+1])/2
}
return(mediana)
}
mediana(1:10)## [1] 5.5
## [1] 5.5
6)
a)
quartis_1 = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
n = length(v)
v_o = sort(v)
if(n%%2 == 0){
k = n/2
j = k+1
}else{
k = (n-1)/2
j = k + 2
}
v_1 = v_o[1:k]
v_2 = v_o[j:n]
q_1 = mediana(v_1)
q_2 = mediana(v)
q_3 = mediana(v_2)
return(c(q_1,q_2,q_3))
}
quartis_1(1:11)## [1] 3 6 9
b)
# 1. Defina n como o tamanho do vetor v;
# 2. Defina v_o como o vetor v ordenado;
# 3. Sendo n par, defina k = n/2 e j=k+1;
# 4. Sendo n ímpar, defina k = (n-1)/2 + 1 e j=k;
# 5. Defina v_1 como um vetor com os elementos de v_o das posições de 1 até k;
# 6. Defina v_2 como um vetor com os elementos de v_o das posições de j até n;
# 7. q_1 = mediana de v_1;
# 8. q_2 = mediana de v;
# 9. q_3 = mediana de v_2;
# 10. Retorna o vetor (q_1, q_2, q_3).c)
quartis_2 = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
n = length(v)
v_o = sort(v)
if(n%%2 == 0){
k = n/2
j = k+1
}else{
k = (n-1)/2 +1
j = k
}
v_1 = v_o[1:k]
v_2 = v_o[j:n]
q_1 = mediana(v_1)
q_2 = mediana(v)
q_3 = mediana(v_2)
return(c(q_1,q_2,q_3))
}
quartis_2(1:11)## [1] 3.5 6.0 8.5
7)
a)
8)
variancia_amostra = function(v){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
n = length(v)
m = media(v)
soma = 0
for(i in 1:n){
soma = soma + (v[i] - m)^2
}
s2 = soma/(n-1)
return(s2)
}
variancia_amostra(1:20)## [1] 35
## [1] 35
9)
a)
10)
a)
cov_amostral = function(v,w){
if(!is.numeric(v)) stop("Vetor v precisa ser numérico!")
if(!is.numeric(w)) stop("Vetor w precisa ser numérico!")
n = length(v)
k = length(w)
if(n != k) stop("Vetores com dimensões diferentes")
m_v = media(v)
m_w = media(w)
soma = 0
for(i in 1:n){
soma = soma + (v[i]-m_v)*(w[i]-m_w)
}
cov = soma/(n-1)
return(cov)
}
cov_amostral(1:10,11:20)## [1] 9.166667
## [1] 9.166667
b)
cov_amostral2 = function(A){
n_cola = ncol(A)
n_rowa = nrow(A)
M = matrix(0, nrow = n_rowa, ncol = n_cola)
for(i in 1:n_rowa){
for(j in 1:n_cola){
M[i,j] = cov_amostral(A[,i],A[,j])
}
}
return(M)
}
M = matrix(c(1,4,3,5,7,3,2,6,6),nrow = 3)
cov_amostral2(M)## [,1] [,2] [,3]
## [1,] 2.333333 1 3.333333
## [2,] 1.000000 4 0.000000
## [3,] 3.333333 0 5.333333
## [,1] [,2] [,3]
## [1,] 2.333333 1 3.333333
## [2,] 1.000000 4 0.000000
## [3,] 3.333333 0 5.333333