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

Dia 2

## soluções das atividades sugeridas 
11:20
1:10
(11:20)*(1:10)
sum((11:20)*(1:10))
 
## veja aqui a lei da reciclagem e a mensagem de "warning"
sum((10:20)*(1:10))
(10:20)*(1:10)
 
## aqui a reciclagem funciona sem "warning" (tamanho de um vetor é multiplo do outro)
(11:15)
(1:10)
(11:15)*(1:10)
sum((11:15)*(1:10))
 
## a lei da reciclagem também funciona com matrizes
M1 <- matrix(1:10, nc=2)
M1
M1 * ((1:5)*10)
 
## outro exemplo
sum(log(sqrt(2^(1:10))))
 
## entrada de dados do exemplo usando codigos: 1-Coxa, 2-Furacão
fut <- edit(data.frame())
fut
 
## inspecionando o objeto e seus atributos
str(fut)
names(fut)
names(fut) <- c("Idade","Time")
str(fut)
 
## recodificando
fut <- transform(fut, Time = factor(Time, levels=1:2, labels=c("Coxa", "Furacão")))
 
## adicionando uma nova couna aos dados de uma variável ordinal
## note a definição e importâncoia de se definir um fator ordenado
fut <- edit(data.frame(fut))
fut <- transform(fut, Opina = factor(var3, levels=1:3, labels=c("Ruim", "Regular", "Bom"), ord=T))
fut$Opina
fut$Opina
 
 
fut[, "var3"]
fut[, 3]
fut[, -3]
## removendo a coluna desnecessária
fut <- fut[,-3]
fut
 
attributes(fut)
 
summary(fut)
plot(fut)
 
## aqui foi discutido o conceitos fundamentais da linguagem S3: 
## funções genéricas, classes e métodos
 
## ex de reg e despacho de métodos
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)
                    )
reg <- lm(y ~ x, data = xydata)
 
summary(reg)
plot(reg)
class(reg)
 
## note o comportamento diferente de plot() e summary() para diferentes objetos, explicando o despacho de métodos
 
## a formula pode ser manipulada por várias funcos do R, por exemplo para extrair a matriz do modelo
model.matrix(y ~ x, data = xydata)
 
## importando dados da web
quest <- read.table("http://www.ime.usp.br/~noproest/dados/questionario.txt", head=T,
                    sep="\t")
                    #, dec=",", sep=";")
head(quest)
dim(quest)
summary(quest)
 
is.ordered(quest$Toler)
levels(quest$Toler)
ordered(quest$Toler, levels=c("P","M","I"))
barplot(table)ordered(quest$Toler, levels=c("P","M","I")))
 
quest <- transform(quest, Toler=ordered(quest$Toler, levels=c("P","M","I")))
 
names(quest)
 
with(quest, boxplot(Idade ~ Toler))
 
##########################################################################
## fazendo gráfico de uma função
x <- seq(0, 60, length=500)
y <- 3 + 15 * exp(-x/10)
plot(x,y, ty="l")
 
## fazendo de outra forma...
fx <- function(x) 3 + 15 * exp(-x/10)
plot(fx, from=0, to=60)
class(fx)
 
## definindo um parâmetro da função que pode ser alterado
fx <- function(x, alpha) 3 + 15 * exp(-x/alpha)
plot(x, fx(x, alpha=10), ty="l", ylab="f(x)")
lines(x, fx(x, alpha=5), ty="l", col=2)
lines(x, fx(x, alpha=15), ty="l", col=4)
 
legend("topright", c(expression(alpha==5), 
										 expression(alpha==10), 
                     expression(alpha==15)), col=c(2,1,4), lty=1) 
title(expression(paste("Função f(x) com diferentes valores de ",alpha)))
 
pdf("exponenciais.pdf")
fx <- function(x, alpha) 3 + 15 * exp(-x/alpha)
plot(x, fx(x, alpha=10), ty="l", ylab="f(x)")
lines(x, fx(x, alpha=5), ty="l", col=2)
lines(x, fx(x, alpha=15), ty="l", col=4)
 
legend("topright", c(expression(alpha==5), 
										 expression(alpha==10), 
                     expression(alpha==15)), col=c(2,1,4), lty=1) 
title(expression(paste("Função f(x) com diferentes valores de ",alpha)))
dev.off()
 
## exemplo de integração (para função de uma variável)
fx <- function(x) 3 + 15 * exp(-x/10)
integrate(fx, 10, 20)
integrate(fx)  # tem, obrigatoriamente, que especificar limites de integração!!!
integrate(fx, 0, 10)
 
## passando argumento adicional para a função
fx <- function(x, alpha) 3 + 15 * exp(-x/alpha)
integrate(fx, 10, 20, alpha=5)
 
## nem tudo é integrável...
integrate(fx, 10, Inf, alpha=5)
#Erro em integrate(fx, 10, Inf, alpha = 5) : 
#  the integral is probably divergent
 
## definindo uma outra função
fx <- function(x) (1/10) * exp(-x/10)
## .. é verificando que é uma f.d.p.
integrate(fx, 0, Inf)
#1 with absolute error < 0.00011
 
## a função só é definida para valores não negativos...
integrate(fx, -Inf, Inf)
#Erro em integrate(fx, -Inf, Inf) : non-finite function value
 
## e a função fica melhor definida especificando seu domínio
fx <- function(x) {ifelse(x>0, (1/10) * exp(-x/10), 0)}
integrate(fx, -Inf, Inf)
#1 with absolute error < 0.00011
 
## para o exemplo no material use a função abs() para definir módulo
abs(-5)


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