Não foi possível enviar o arquivo. Será algum problema com as permissões?
Dia 3

Dia 3

## listas
lis <- list(a = 1:10, b = matrix(1:12, nc=4), c = "Oi Pessoal",
					  d = data.frame(x = 1:10), y = rnorm(10))
lis
## selecionando uma sublista
lis[1]
## selecionando um elemento da list
lis[[1]]
## note a diferença entre usar [ ] e [[ ]]  !
 
## exemplo: regressão: resultados são dados em lista(s)
xydata <- data.frame(x = 1:20, 
                     y = c(0.9,5.1,2.4,8.1,4.2,7.1,5.6,7.6,5.9,7.7,
                           11.8,6.9,9.3,10.9,8.4,11.6,13.0,13.8,13.1,9.3)
                    )
## diferente formas de acessar as colunas de um data-frame:
with(xydata, plot(x,y))
attach(xydata)
plot(x,y)
detach(xydata)
plot(xydata$x, xydata$y)
 
reg <- lm(y ~ x, data = xydata)
is.list(reg)
 
names(reg)
reg$call
 
summary(reg)
regS <- summary(reg)
is.list(regS)
names(regS)
 
## estimativa de sigma pode ser calculada...
sqrt(sum(reg$residuals^2)/reg$df.res)
## ou acessada do objeto de summary!!
regS$sigma
 
## apagando **tudo** (todos os objetos) da área de trabalho
rm(list(ls())
 
## Exemplo de Verossimilhança
##
dg <- c(9, 5, 2, 3, 0, 3, 2, 4, 14, 3, 4, 1, 0, 6, 1)
 
## função (ingênua) de verossimilhança para modelo geométrico
fp <- function(p) sum(log(p * (1-p)^dg))
## fazendo o gráfico da função:
ps <- seq(0.01, 0.99, length=100)
lps <- sapply(ps, fp)
plot(ps, lps , ty="l")
## encontrando o ponto de máximo (numericamente)
est <- optimize(fp, c(0, 1), maximum=T)
est
abline(v = est$max)
 
## redefinindo a função escrevendo as contas de forma mais adequada
fp <- function(par) sapply(par, function(p) sum(log(p) + dg*log(1-p)))
plot(ps, fp(ps), ty="l")
## reescrevendo novamente usando a função já disponível no R
fp <- function(par) sapply(par, function(p) sum(dgeom(dg, prob=p, log=T)))
plot(ps, fp(ps), ty="l")
 
## a tornando a função mais genérica para receber qualquer vetor de dados
fp <- function(par, dados) sapply(par, function(p) sum(dgeom(dados, prob=p, log=T)))
plot(ps, fp(ps, dados=dg), ty="l")
 
## acrescentando elementos no gráfico
plot(ps, fp(ps, dados=dg), ty="l", xlab="p", ylab="l(p)")
title(eval(substitute(expression(paste("log-verossimilhança do parâmetro da Geométrica\n", hat(p) == a)), list(a=est$max))))


QR Code
QR Code cursos:rbelem:dia3 (generated for current page)