# Associação entre Variáveis quantitativas #Baixar dados Housing_Dec2010.csv e Income_Dec2010.csv dados <- read.csv("f:\\dados\\Housing_Dec2010.csv", header=TRUE, sep=";") names(dados) summary(dados) attach(dados) table(year) barplot(table(year), xlab = "Ano", ylab = "Número de países", las=2) pib = read.csv("f:\\dados\\Income_Dec2010.csv", header = TRUE, sep = ";") names(pib) par(mfrow = c(2, 1)) hist(pib$GDP, freq = FALSE, xlab = "PIB per capita (US$)", ylab = "Densidade", main = "") boxplot(pib$GDP, xlab = "PIB per capita (US$)", pch = "*", horizontal = TRUE) pib60 = pib$GDP[match(countryarea, pib$country)] plot(pib60, total, pch = 20, ylab = "Média de pessoas/cômodo", xlab = "PIB per capita (US$)") identify(pib60, total, countryarea) plot(log(pib60), total, pch = 20, ylab = "Média de pessoas/cômodo", xlab = "Log PIB per capita (US$)") # Assimetria de pib60 skewness(na.exclude(pib60)) library(moments) # Assimetria de log(pib60) skewness(log(na.exclude(pib60))) # Associação entre Variáveis qualitativas library(ineq) ?Ilocos data(Ilocos) dados = Ilocos dim(dados) names(dados) summary(dados[, c("sex", "urbanity", "province")]) class(dados$province) attach(dados) levels(urbanity) = c("Rural", "Urbana") (tab1 = table(province, urbanity)) margin.table(tab1, margin = 1) margin.table(tab1, margin = 2) prop.table(tab1) (tab1rel = prop.table(tab1, margin = 1)) box() barplot(t(tab1relp), xlab = "Província", ylab = "Percentagem", density = 15, legend.text = TRUE) # Gráfico de mosaico levels(sex) = c("Feminino", "Masculino") tab2 = table(province, sex) tab2rel = prop.table(tab2, margin = 1) print(addmargins(tab2rel, 2) * 100, digits = 3) tab2marg = addmargins(tab2, 1:2) k = nrow(tab2marg) - 1 m = ncol(tab2marg) - 1 n = sum(tab2) tab2ind = tab2marg[1:k, m + 1] %*% t(tab2marg[k + 1, 1:m]) / n rownames(tab2ind) = rownames(tab2) colnames(tab2ind) = colnames(tab2) par(mfrow=c(1,2)) mosaicplot(tab2, ylab = "Sexo do responsável", xlab = "Província", col = "white", main = "Dados observados") mosaicplot(tab2ind, ylab = "Sexo do responsável", xlab = "Província", col = "white", main = "Independência") X2 = sum((tab2 - tab2ind)^2 / tab2ind) (Tprow = sqrt(X2 / (n * sqrt((k - 1) * (m - 1))))) nlinhas = ceiling(k / 2) par(mfrow = c(nlinhas, 2)) for (i in 1:k) pie(tab2[i,], main = rownames(tab2rel)[i]) # Associação entre variáveis qualitativas e quantitativas names(dados) plot(family.size ~ urbanity, xlab = "Localização", ylab = "Tamanho da família", pch = "*") plot(family.size ~ province, xlab = "Província", ylab = "Tamanho da família", pch = "*") plot(family.size ~ sex, xlab = "Sexo do responsável", ylab = "Tamanho da família", pch = "*", horizontal = TRUE) plot(income / 1000 ~ sex, xlab = "Sexo do responsável", ylab = "Renda domiciliar (mil pesos)", pch = "*“) plot(income / 1000 ~ sex, xlab = "Sexo do responsável", log = "y", ylab = "Renda domiciliar (mil pesos)", pch = "*“) plot(income / 1000 ~ province, xlab = "Província", log = "y", ylab = "Renda domiciliar (mil pesos)", pch = "*“) (tabmed = tapply(family.size, province, "mean")) (tabvar = tapply(family.size, province, "var")) (s2 = var(family.size)) limy = c(0, 1.1 * max(tabmed + sqrt(tabvar))) gbarras = barplot(gbarras = barplot(tabmed, xlab = "Província", ylab = "Tamanho médio da família", ylim = limy, col = "black", density = 10) arrows(gbarras, tabmed, gbarras, tabmed + sqrt(tabvar), angle = 90) box() fprov = table(province) (s2barra = weighted.mean(tabvar, fprov)) (R2 = 1 - s2barra / s2)