peso <- c(46,50,60,55,58,56,48,53)
peso
## [1] 46 50 60 55 58 56 48 53
altura <- c(1.59,1.51,1.65,1.60,1.65,1.63,1.58,1.59)
altura
## [1] 1.59 1.51 1.65 1.60 1.65 1.63 1.58 1.59
plot(peso, altura)
lm(altura ~ peso)
##
## Call:
## lm(formula = altura ~ peso)
##
## Coefficients:
## (Intercept) peso
## 1.245000 0.006667
abline(1.200575, 0.007519)
modelo = lm(altura ~ peso)
plot(peso, altura)
abline(lm(altura ~ peso), col="red")
cor(altura,peso)
## [1] 0.7183187
library(ggplot2)
ggplot(mapping = aes(peso, altura)) +
geom_point() +
geom_smooth(method = "lm")
retas <- ggplot(mapping = aes(peso, altura)) +
geom_point() +
geom_smooth(se = FALSE, method = "lm") +
geom_hline(yintercept = mean(altura))
retas
retas +
geom_segment(aes(x = peso, y = altura,
xend = peso, yend = mean(altura)), color="red") +
geom_smooth(method = "lm")
retas +
geom_segment(aes(x = peso, y = altura,
xend = peso, yend = predict(lm(altura ~ peso))), color="red")+
geom_smooth(method = "lm")
SQt = sum((mean(altura) - altura)**2)
SQres = sum((predict(lm(altura ~ peso)) - altura)**2)
R2 = (SQt - SQres) / SQt
R2
## [1] 0.5159817
summary(lm(modelo))
##
## Call:
## lm(formula = modelo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.068333 -0.009167 0.008333 0.015833 0.038333
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.245000 0.140891 8.837 0.000117 ***
## peso 0.006667 0.002636 2.529 0.044735 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03432 on 6 degrees of freedom
## Multiple R-squared: 0.516, Adjusted R-squared: 0.4353
## F-statistic: 6.396 on 1 and 6 DF, p-value: 0.04474
pesos <- data.frame(peso = c(49, 51, 62))
predict(lm(altura ~ peso), pesos)
## 1 2 3
## 1.571667 1.585000 1.658333
res = as.numeric(predict(lm(altura ~ peso), pesos))
res
## [1] 1.571667 1.585000 1.658333
retas +
geom_point(aes(x = pesos$peso, y =res,
xend = pesos$peso, yend = mean(res)), color="red")
chisq.test(altura, peso)
##
## Pearson's Chi-squared test
##
## data: altura and peso
## X-squared = 40, df = 35, p-value = 0.2578
Coeficiente de Correlação de Spearman ρ
Ideal quando temos variáveis medidas apenas em uma escala ordinal.
library(corrplot)
library(RColorBrewer)
dados = as.data.frame(cbind(altura, peso))
dados
M <-cor(dados)
corrplot(M, type="upper", order="hclust",
col=brewer.pal(n=8, name="RdYlBu"))
cor.test(dados$altura, dados$peso, method=c("pearson", "kendall", "spearman"))
##
## Pearson's product-moment correlation
##
## data: dados$altura and dados$peso
## t = 2.5291, df = 6, p-value = 0.04474
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.02763305 0.94476880
## sample estimates:
## cor
## 0.7183187
cor.test(dados$altura, dados$peso,method = "pearson")
##
## Pearson's product-moment correlation
##
## data: dados$altura and dados$peso
## t = 2.5291, df = 6, p-value = 0.04474
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.02763305 0.94476880
## sample estimates:
## cor
## 0.7183187
cor.test(dados$altura, dados$peso,method = "spearman")
##
## Spearman's rank correlation rho
##
## data: dados$altura and dados$peso
## S = 11.127, p-value = 0.005249
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.8675328
Coeficiente de Correlação de Kendall (τ de kendall)
Coeficiente de Kendall é, muitas vezes, interpretado como uma medida de concordância entre dois conjuntos de classificações relativas a um conjunto de objetos de estudo.
cor.test(dados$altura, dados$peso,method = "kendall")
##
## Kendall's rank correlation tau
##
## data: dados$altura and dados$peso
## z = 2.5131, p-value = 0.01197
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## 0.7412493
library("ggpubr")
ggscatter(dados, x = "peso", y = "altura",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Peso (Kg)", ylab = "Altura (m)")
ggqqplot(dados$altura, ylab = "Altura")
ggqqplot(dados$peso, ylab = "Peso")