-
Notifications
You must be signed in to change notification settings - Fork 7
Atividades preliminares
Estas atividades servem para você se familiarizar com o R. Digite elas diretamente no console do R, sem usar ainda o RStudio. Não se preocupe se não entender tudo que está acontecendo, iremos nos debruçar sobre esses comandos na aula. Se você tiver problemas em executar os códigos abaixo, me envie um email. Por enquanto, preste atenção no que acontece no R quando você digita os comandos abaixo. Como primeira atividade, descreva com suas palavraso que acontece , como no exemplo a seguir:
message("Hello World")
#Este comando é uma invocação tradicional dos deuses da informática e traz as bençãos de Murphy para nossas aulas.
Digite no console, do lado do símbolo >, e aperte enter depois de cada linha.
letters()
library(cars)
plot(cars)
rep("Oi", 10)
seq(from = 100, to = 1000, by = 50)
help(seq)
??NA
a = sqrt(2)
iris
summary(iris)
x = c(1:70)
plot(x)
mean(x)
mean(x^2)
mean(x)^2
Não há problema se você se sentir um pouco perdido ou perdida após fazer esta atividade, pois se você entendeu todo o código abaixo, você já sabe R :) A função deste exercício é lhe familiarizar com a interface, o programa e as mensagens de erro que vão aparecer. Não entre em pânico, nada do que tem no código abaixo vai fazer seu computador bugar ou explodir :)
Execute os comandos abaixo e tente entender o que acontece. Não se assuste com as funções estatísticas, por enquanto tente entender o que cada linha faz de um modo geral, em termos de manipulação de dados. O que está sendo criado? O que está sendo calculado? Quando tiver dúvida sobre uma função, tente o comando help(nomeDaFuncao)
.
Suponha que estamos interessados em saber se há uma relação linear entre o tamanho de um dragão e sua idade. Para isso, enviamos um estagiário de IC para, educadamente, medir os dragões do reino, em metros, e perguntar a eles suas idades, em décadas. Após retornar (um tanto chamuscado), nosso estagiário encontrou os seguintes dados:
Idade = c(3.0, 4.0, 5.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 15.0, 16.0, 17.0)
TamanhoDaAsa = c(1.4, 1.5, 2.2, 2.4, 3.1, 3.2, 3.2, 3.9, 4.1, 4.7, 4.5, 5.2, 5.0)
plot(x = Idade, y = TamanhoDaAsa)
modelo = lm(TamanhoDaAsa~Idade)
summary(modelo)
Podemos também fazer essa análise na unha. Antes de executar, tente entender o que cada linha quer dizer
media.Idade = mean(Idade)
media.TamanhoDaAsa = mean(TamanhoDaAsa)
desvio.quadrado.Idade = (Idade - media.Idade)^2
desvio.quadrado.TamanhoDaAsa = (TamanhoDaAsa - media.TamanhoDaAsa)^2
ss.Idade = sum(desvio.quadrado.Idade)
produto.cruzado = (Idade - media.Idade) * (TamanhoDaAsa - media.TamanhoDaAsa)
ss.prod.cruz = sum(produto.cruzado)
b = ss.prod.cruz/ss.Idade
a = media.TamanhoDaAsa- b * media.Idade
TamanhoDaAsa.previsto = a + b * Idade
ss.t = sum(desvio.quadrado.TamanhoDaAsa)
desvio.quadrado.previsto = (TamanhoDaAsa.previsto - media.TamanhoDaAsa)^2
ss.regressao = sum(desvio.quadrado.previsto)
desvio.quadrado.residuo = (TamanhoDaAsa.previsto - TamanhoDaAsa)^2
ss.residuo = sum(desvio.quadrado.residuo)
df.regressao = 1
df.residuo = length(Idade) - 2
ms.regressao = ss.regressao / df.regressao
ms.residuo = ss.residuo / df.residuo
f = ms.regressao/ms.residuo
r.quad = ss.regressao/ss.residuo
plot(TamanhoDaAsa ~ Idade, xlab = "Idade (décadas)",
ylab = "Comprimento (metros)",
main = "Tamanho da asa"
, bty = "n"
, xlim = c(0, 23)
, ylim = c(0, max(TamanhoDaAsa))
, lwd = 2
, yaxt = "n"
, xaxt = "n"
)
axis(1, pos = 0)
axis(2, pos = 0)
abline(a = a, b = b, col = "red", lwd = 2)
anova(modelo)
coefficients(modelo)
plot(modelo)
summary(modelo)
plot(Idade, modelo$residuals)
abline(h = 0)
test.dist = rnorm(length(TamanhoDaAsa), mean = media.TamanhoDaAsa, sd = sqrt(var(TamanhoDaAsa)))
qqnorm(TamanhoDaAsa); qqline(TamanhoDaAsa)
hist(modelo$residuals)
df <- summary(modelo)$fstatistic
curve(df(x, df1 = df[2], df2 = df[3]), from = 0, to = 20, xlab = "F", bty = "l", ylab = "")
abline(v = 12.04, col = "red")
f.crit = qf(.95, df1 = df[2], df2 = df[3])
abline(v = f.crit, col = "blue")
qt(1-0.05/2, df.residuo)
confint.lm(modelo)
prd<-predict(modelo, newdata = data.frame(Idade), interval = c("confidence"), level = 0.95, type = "response")
Neste curso, usaremos o Notar, um sistema para notas automatizadas em cursos que utilizam a linguagem R desenvolvido por Chalom, A., Prado, P. I. & Adalardo, A.. Você recebeu um email com seu login e senha. Faça seu primeiro acesso, altere sua senha e depois faça o exercício 101.4 para se familiarizar com a plataforma