#==========================================================================================
# Aula 14 da disciplina ce223 (06/05/2011)
# Estatística básica, construção de funções para IC e teste de hipótese para uma média
#                                                               Professor Walmes M. Zeviani
#                                                                     www.leg.ufpr.br/ce223
#==========================================================================================

#------------------------------------------------------------------------------------------
# função para obter o intervalo de confiança

ic <- function(amostra, nivel){
  ## amostra: é o vetor de dados
  ## nivel: é o nível de confiança do intervalo
  n <- length(amostra) # é o tamanho da amostra
  m <- mean(amostra)   # é a média da amostra
  v <- var(amostra)    # é a variância da amostra
  e <- sqrt(v/n)       # é o erro padrão da média
  q <- abs(qnorm((1-nivel)/2)) # é o quantil que define o nível
#  li <- m-q*e # limite inferior do ic
#  ls <- m+q*e # limite superior do ic
  lmt <- m+c(li=-1,ls=1)*q*e
#  names(lmt) <- c("li","ls")
#  c(li=li, ls=ls)
#  c(media=m, variancia=v, n=n, erropadrao=e, lmt)
  list(media=m, variancia=v, n=n, erropadrao=e, nivel=nivel, ic=lmt)
}

x <- rnorm(50)
ic.amostra <- ic(amostra=x, nivel=0.99)
ic.amostra
str(ic.amostra)
ic.amostra$ic

#------------------------------------------------------------------------------------------
# função para teste de hipótese

testez <- function(amostra, h0, nivel){
  n <- length(amostra) # é o tamanho da amostra
  m <- mean(amostra)   # é a média da amostra
  v <- var(amostra)    # é a variância da amostra
  e <- sqrt(v/n)       # é o erro padrão da média
  zc <- abs((m-h0)/e)  # z calculado
  zt <- -qnorm(nivel/2)# z tabelado
  dec <- ifelse(zc>zt, "rejeito", "aceito")
  cat("----------------------------------------------------------------------\n")
  cat("\n       Teste para a média de uma amostra normal     \n\n")
  cat("teste para hipótese h0: média = ", h0, "\n")
  cat("media da amostra:      ", m, "erro padrão da média:  ", e, "\n")
  cat("variância da amostra:  ", v, "tamanho da amostra:    ", n, "\n")
  cat("estatística calculada: ", zc, "estatística tabelada: ", zt, "\n")
  cat("decisão: ", dec, "\n")
  cat("----------------------------------------------------------------------\n")
  list(geral=c(media=m, variancia=v, erropadrao=e, zc=zc), n=n, decisao=dec)
}

y <- testez(x, h0=1, nivel=0.05)
str(y)

apropos("test")

args(t.test)

obj <- t.test(x)
str(obj)
obj$p.value

#------------------------------------------------------------------------------------------
