Cristiano de Carvalho Santos
DEST-UFMG
Algumas vezes temos a necessidade de realizar alguma tranformação em uma ou mais variáveis do banco de dados.
Veja alguns exemplos:
# Manipulacao de banco de dados
milsa <- read.table("http://www.leg.ufpr.br/~paulojus/dados/milsa.dat", head = T)
# Podemos visualizar o banco de dados com View(milsa)
# Podemo ver algumas caracteristicas do banco de dados com:
mode(milsa)
## [1] "list"
str(milsa)
## 'data.frame': 36 obs. of 8 variables:
## $ funcionario: int 1 2 3 4 5 6 7 8 9 10 ...
## $ civil : int 1 2 2 1 1 2 1 1 2 1 ...
## $ instrucao : int 1 1 1 2 1 1 1 1 2 2 ...
## $ filhos : int NA 1 2 NA NA 0 NA NA 1 NA ...
## $ salario : num 4 4.56 5.25 5.73 6.26 6.66 6.86 7.39 7.59 7.44 ...
## $ ano : int 26 32 36 20 40 28 41 43 34 23 ...
## $ mes : int 3 10 5 10 7 0 0 4 10 6 ...
## $ regiao : int 1 2 2 3 3 1 1 2 2 3 ...
names(milsa)
## [1] "funcionario" "civil" "instrucao" "filhos" "salario"
## [6] "ano" "mes" "regiao"
# veja o help da função digitando: ?transform
## Transformando um banco de dados
milsa <- transform(milsa, civil = factor(civil, label = c("solteiro", "casado"), levels = 1:2),
instrucao = factor(instrucao, label = c("1oGrau", "2oGrau", "Superior"),
lev = 1:3, ord = T),
regiao = factor(regiao, label = c("capital", "interior", "outro"), lev = c(2, 1, 3)))
milsa <- transform(milsa, idade = ano + mes/12)
milsa
## funcionario civil instrucao filhos salario ano mes regiao idade
## 1 1 solteiro 1oGrau NA 4.00 26 3 interior 26.25000
## 2 2 casado 1oGrau 1 4.56 32 10 capital 32.83333
## 3 3 casado 1oGrau 2 5.25 36 5 capital 36.41667
## 4 4 solteiro 2oGrau NA 5.73 20 10 outro 20.83333
## 5 5 solteiro 1oGrau NA 6.26 40 7 outro 40.58333
## 6 6 casado 1oGrau 0 6.66 28 0 interior 28.00000
## 7 7 solteiro 1oGrau NA 6.86 41 0 interior 41.00000
## 8 8 solteiro 1oGrau NA 7.39 43 4 capital 43.33333
## 9 9 casado 2oGrau 1 7.59 34 10 capital 34.83333
## 10 10 solteiro 2oGrau NA 7.44 23 6 outro 23.50000
## 11 11 casado 2oGrau 2 8.12 33 6 interior 33.50000
## 12 12 solteiro 1oGrau NA 8.46 27 11 capital 27.91667
## 13 13 solteiro 2oGrau NA 8.74 37 5 outro 37.41667
## 14 14 casado 1oGrau 3 8.95 44 2 outro 44.16667
## 15 15 casado 2oGrau 0 9.13 30 5 interior 30.41667
## 16 16 solteiro 2oGrau NA 9.35 38 8 outro 38.66667
## 17 17 casado 2oGrau 1 9.77 31 7 capital 31.58333
## 18 18 casado 1oGrau 2 9.80 39 7 outro 39.58333
## 19 19 solteiro Superior NA 10.53 25 8 interior 25.66667
## 20 20 solteiro 2oGrau NA 10.76 37 4 interior 37.33333
## 21 21 casado 2oGrau 1 11.06 30 9 outro 30.75000
## 22 22 solteiro 2oGrau NA 11.59 34 2 capital 34.16667
## 23 23 solteiro 1oGrau NA 12.00 41 0 outro 41.00000
## 24 24 casado Superior 0 12.79 26 1 outro 26.08333
## 25 25 casado 2oGrau 2 13.23 32 5 interior 32.41667
## 26 26 casado 2oGrau 2 13.60 35 0 outro 35.00000
## 27 27 solteiro 1oGrau NA 13.85 46 7 outro 46.58333
## 28 28 casado 2oGrau 0 14.69 29 8 interior 29.66667
## 29 29 casado 2oGrau 5 14.71 40 6 interior 40.50000
## 30 30 casado 2oGrau 2 15.99 35 10 capital 35.83333
## 31 31 solteiro Superior NA 16.22 31 5 outro 31.41667
## 32 32 casado 2oGrau 1 16.61 36 4 interior 36.33333
## 33 33 casado Superior 3 17.26 43 7 capital 43.58333
## 34 34 solteiro Superior NA 18.75 33 7 capital 33.58333
## 35 35 casado 2oGrau 2 19.40 48 11 capital 48.91667
## 36 36 casado Superior 3 23.30 42 2 interior 42.16667
attach(milsa)
civil
## [1] solteiro casado casado solteiro solteiro casado solteiro solteiro
## [9] casado solteiro casado solteiro solteiro casado casado solteiro
## [17] casado casado solteiro solteiro casado solteiro solteiro casado
## [25] casado casado solteiro casado casado casado solteiro casado
## [33] casado solteiro casado casado
## Levels: solteiro casado
detach(milsa)
Tabelas de frequências
Gráficos
Medidas resumo
Utilizamos os mesmos tipos de gráficos para variáveis qualitativas e quantitativas? NÃO!!!
\(~\)
attach(milsa)
t1 <- table(civil)
t1
## civil
## solteiro casado
## 16 20
prop.table(t1)
## civil
## solteiro casado
## 0.4444444 0.5555556
round(prop.table(t1), 2)
## civil
## solteiro casado
## 0.44 0.56
detach(milsa)
Algumas vezes não desejamos utilizar a função attach
## Tabelas de contingencia - sem usar o attach
t2 <- table(milsa[,c(2, 3)])
t2
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 7 6 3
## casado 5 12 3
##
t2f <- ftable(milsa[c(2, 3)])
t2f
## instrucao 1oGrau 2oGrau Superior
## civil
## solteiro 7 6 3
## casado 5 12 3
sapply(list(t2, t2f), class)
## [1] "table" "ftable"
sapply(list(t2, t2f), is.matrix)
## [1] TRUE TRUE
sapply(list(t2, t2f), is.array)
## [1] TRUE TRUE
dimnames(t2)
## $civil
## [1] "solteiro" "casado"
##
## $instrucao
## [1] "1oGrau" "2oGrau" "Superior"
t2 <- table(milsa[c(2, 3)], dnn = c("Estado Civil", "Nivel de Instrucao"))
dimnames(t2)
## $`Estado Civil`
## [1] "solteiro" "casado"
##
## $`Nivel de Instrucao`
## [1] "1oGrau" "2oGrau" "Superior"
t2
## Nivel de Instrucao
## Estado Civil 1oGrau 2oGrau Superior
## solteiro 7 6 3
## casado 5 12 3
## Tabelas para 3 variaveis e uso do with
t3 <- with(milsa, table(civil, instrucao, regiao))
t3
## , , regiao = capital
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 2 1 1
## casado 2 4 1
##
## , , regiao = interior
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 2 1 1
## casado 1 6 1
##
## , , regiao = outro
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 3 4 1
## casado 2 2 1
t3f <- with(milsa, ftable(civil, instrucao, regiao))
t3f
## regiao capital interior outro
## civil instrucao
## solteiro 1oGrau 2 2 3
## 2oGrau 1 1 4
## Superior 1 1 1
## casado 1oGrau 2 1 2
## 2oGrau 4 6 2
## Superior 1 1 1
# Matriz ou array?
sapply(list(t3, t3f), is.matrix)
## [1] FALSE TRUE
sapply(list(t3, t3f), is.array)
## [1] TRUE TRUE
sapply(list(t3, t3f), dim)
## [[1]]
## [1] 2 3 3
##
## [[2]]
## [1] 6 3
# Eh possivel mudar a visualizacao da tabela com o col.vars
with(milsa, ftable(civil, instrucao, regiao, dnn = c("Estado Civil:",
"Nivel de Instrucao", "Procedencia:"), col.vars = c(1,3)))
## Estado Civil: solteiro casado
## Procedencia: capital interior outro capital interior outro
## Nivel de Instrucao
## 1oGrau 2 2 3 2 1 2
## 2oGrau 1 1 4 4 6 2
## Superior 1 1 1 1 1 1
## Frequencias relativas
prop.table(t3)
## , , regiao = capital
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.05555556 0.02777778 0.02777778
## casado 0.05555556 0.11111111 0.02777778
##
## , , regiao = interior
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.05555556 0.02777778 0.02777778
## casado 0.02777778 0.16666667 0.02777778
##
## , , regiao = outro
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.08333333 0.11111111 0.02777778
## casado 0.05555556 0.05555556 0.02777778
prop.table(t3f)
## regiao capital interior outro
## civil instrucao
## solteiro 1oGrau 0.05555556 0.05555556 0.08333333
## 2oGrau 0.02777778 0.02777778 0.11111111
## Superior 0.02777778 0.02777778 0.02777778
## casado 1oGrau 0.05555556 0.02777778 0.05555556
## 2oGrau 0.11111111 0.16666667 0.05555556
## Superior 0.02777778 0.02777778 0.02777778
prop.table(t3, margin = 1)
## , , regiao = capital
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.1250 0.0625 0.0625
## casado 0.1000 0.2000 0.0500
##
## , , regiao = interior
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.1250 0.0625 0.0625
## casado 0.0500 0.3000 0.0500
##
## , , regiao = outro
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 0.1875 0.2500 0.0625
## casado 0.1000 0.1000 0.0500
prop.table(t3f, margin = 1)
## regiao capital interior outro
## civil instrucao
## solteiro 1oGrau 0.2857143 0.2857143 0.4285714
## 2oGrau 0.1666667 0.1666667 0.6666667
## Superior 0.3333333 0.3333333 0.3333333
## casado 1oGrau 0.4000000 0.2000000 0.4000000
## 2oGrau 0.3333333 0.5000000 0.1666667
## Superior 0.3333333 0.3333333 0.3333333
# Distribuicao marginal
margin.table(t3, mar = 1)
## civil
## solteiro casado
## 16 20
margin.table(t3, mar = 2)
## instrucao
## 1oGrau 2oGrau Superior
## 12 18 6
addmargins(t3, mar=1)
## , , regiao = capital
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 2 1 1
## casado 2 4 1
## Sum 4 5 2
##
## , , regiao = interior
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 2 1 1
## casado 1 6 1
## Sum 3 7 2
##
## , , regiao = outro
##
## instrucao
## civil 1oGrau 2oGrau Superior
## solteiro 3 4 1
## casado 2 2 1
## Sum 5 6 2
## com o ftable nao funciona a funcao de calcular margens
# Grafico de barras e pizza - construa uma tabela de frequencias primeiro!
barplot(t1)
pie(t1)
# Tem como melhorar este grafico?
# x11() ## Ou win.graph()
barplot(t1, main="Distribuicao segundo Estado civil", ylab= "Frequencia", xlab="Estado civil",col ="blue")
# x11()
pie(t1, labels = paste(c("casado - ","solteiro - "), round(prop.table(t1)*100,2), "%", sep=""),
main="Distribuicao segundo estado civil", col = c("blue","red"))
# ?barplot
attach(milsa)
plot(civil)
plot(ano)
plot(factor(ano))
# x11()
par(mfrow = c(1,2), oma = (4:1))
barplot(t1, main="Estado civil", ylab= "Frequencia", xlab="Estado civil",col ="red",col.axis="blue")
pie(t1, labels = paste(c("casado - ","solteiro - "), round(prop.table(t1)*100,2), "%", sep=""),
main="Estado civil", col = c("blue","red"))
# Graficao de barras para duas variaveis
barplot(t2, beside = T, legend = T) ## Com t1f fica sem nomes dos eixo!!!
barplot(t2, beside = F, legend = T) ## Outra variacao
Função \(par\) define vários parâmetros da janela gráfica atual. Por exemplo, \(par(mfrow=c(1,2))\) permite colocar dois gráficos lado a lado.
# Quais parametros graficos podemos mudar
# ?par
# Quais cores podemos usar
colours()
## [1] "white" "aliceblue" "antiquewhite"
## [4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
## [7] "antiquewhite4" "aquamarine" "aquamarine1"
## [10] "aquamarine2" "aquamarine3" "aquamarine4"
## [13] "azure" "azure1" "azure2"
## [16] "azure3" "azure4" "beige"
## [19] "bisque" "bisque1" "bisque2"
## [22] "bisque3" "bisque4" "black"
## [25] "blanchedalmond" "blue" "blue1"
## [28] "blue2" "blue3" "blue4"
## [31] "blueviolet" "brown" "brown1"
## [34] "brown2" "brown3" "brown4"
## [37] "burlywood" "burlywood1" "burlywood2"
## [40] "burlywood3" "burlywood4" "cadetblue"
## [43] "cadetblue1" "cadetblue2" "cadetblue3"
## [46] "cadetblue4" "chartreuse" "chartreuse1"
## [49] "chartreuse2" "chartreuse3" "chartreuse4"
## [52] "chocolate" "chocolate1" "chocolate2"
## [55] "chocolate3" "chocolate4" "coral"
## [58] "coral1" "coral2" "coral3"
## [61] "coral4" "cornflowerblue" "cornsilk"
## [64] "cornsilk1" "cornsilk2" "cornsilk3"
## [67] "cornsilk4" "cyan" "cyan1"
## [70] "cyan2" "cyan3" "cyan4"
## [73] "darkblue" "darkcyan" "darkgoldenrod"
## [76] "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3"
## [79] "darkgoldenrod4" "darkgray" "darkgreen"
## [82] "darkgrey" "darkkhaki" "darkmagenta"
## [85] "darkolivegreen" "darkolivegreen1" "darkolivegreen2"
## [88] "darkolivegreen3" "darkolivegreen4" "darkorange"
## [91] "darkorange1" "darkorange2" "darkorange3"
## [94] "darkorange4" "darkorchid" "darkorchid1"
## [97] "darkorchid2" "darkorchid3" "darkorchid4"
## [100] "darkred" "darksalmon" "darkseagreen"
## [103] "darkseagreen1" "darkseagreen2" "darkseagreen3"
## [106] "darkseagreen4" "darkslateblue" "darkslategray"
## [109] "darkslategray1" "darkslategray2" "darkslategray3"
## [112] "darkslategray4" "darkslategrey" "darkturquoise"
## [115] "darkviolet" "deeppink" "deeppink1"
## [118] "deeppink2" "deeppink3" "deeppink4"
## [121] "deepskyblue" "deepskyblue1" "deepskyblue2"
## [124] "deepskyblue3" "deepskyblue4" "dimgray"
## [127] "dimgrey" "dodgerblue" "dodgerblue1"
## [130] "dodgerblue2" "dodgerblue3" "dodgerblue4"
## [133] "firebrick" "firebrick1" "firebrick2"
## [136] "firebrick3" "firebrick4" "floralwhite"
## [139] "forestgreen" "gainsboro" "ghostwhite"
## [142] "gold" "gold1" "gold2"
## [145] "gold3" "gold4" "goldenrod"
## [148] "goldenrod1" "goldenrod2" "goldenrod3"
## [151] "goldenrod4" "gray" "gray0"
## [154] "gray1" "gray2" "gray3"
## [157] "gray4" "gray5" "gray6"
## [160] "gray7" "gray8" "gray9"
## [163] "gray10" "gray11" "gray12"
## [166] "gray13" "gray14" "gray15"
## [169] "gray16" "gray17" "gray18"
## [172] "gray19" "gray20" "gray21"
## [175] "gray22" "gray23" "gray24"
## [178] "gray25" "gray26" "gray27"
## [181] "gray28" "gray29" "gray30"
## [184] "gray31" "gray32" "gray33"
## [187] "gray34" "gray35" "gray36"
## [190] "gray37" "gray38" "gray39"
## [193] "gray40" "gray41" "gray42"
## [196] "gray43" "gray44" "gray45"
## [199] "gray46" "gray47" "gray48"
## [202] "gray49" "gray50" "gray51"
## [205] "gray52" "gray53" "gray54"
## [208] "gray55" "gray56" "gray57"
## [211] "gray58" "gray59" "gray60"
## [214] "gray61" "gray62" "gray63"
## [217] "gray64" "gray65" "gray66"
## [220] "gray67" "gray68" "gray69"
## [223] "gray70" "gray71" "gray72"
## [226] "gray73" "gray74" "gray75"
## [229] "gray76" "gray77" "gray78"
## [232] "gray79" "gray80" "gray81"
## [235] "gray82" "gray83" "gray84"
## [238] "gray85" "gray86" "gray87"
## [241] "gray88" "gray89" "gray90"
## [244] "gray91" "gray92" "gray93"
## [247] "gray94" "gray95" "gray96"
## [250] "gray97" "gray98" "gray99"
## [253] "gray100" "green" "green1"
## [256] "green2" "green3" "green4"
## [259] "greenyellow" "grey" "grey0"
## [262] "grey1" "grey2" "grey3"
## [265] "grey4" "grey5" "grey6"
## [268] "grey7" "grey8" "grey9"
## [271] "grey10" "grey11" "grey12"
## [274] "grey13" "grey14" "grey15"
## [277] "grey16" "grey17" "grey18"
## [280] "grey19" "grey20" "grey21"
## [283] "grey22" "grey23" "grey24"
## [286] "grey25" "grey26" "grey27"
## [289] "grey28" "grey29" "grey30"
## [292] "grey31" "grey32" "grey33"
## [295] "grey34" "grey35" "grey36"
## [298] "grey37" "grey38" "grey39"
## [301] "grey40" "grey41" "grey42"
## [304] "grey43" "grey44" "grey45"
## [307] "grey46" "grey47" "grey48"
## [310] "grey49" "grey50" "grey51"
## [313] "grey52" "grey53" "grey54"
## [316] "grey55" "grey56" "grey57"
## [319] "grey58" "grey59" "grey60"
## [322] "grey61" "grey62" "grey63"
## [325] "grey64" "grey65" "grey66"
## [328] "grey67" "grey68" "grey69"
## [331] "grey70" "grey71" "grey72"
## [334] "grey73" "grey74" "grey75"
## [337] "grey76" "grey77" "grey78"
## [340] "grey79" "grey80" "grey81"
## [343] "grey82" "grey83" "grey84"
## [346] "grey85" "grey86" "grey87"
## [349] "grey88" "grey89" "grey90"
## [352] "grey91" "grey92" "grey93"
## [355] "grey94" "grey95" "grey96"
## [358] "grey97" "grey98" "grey99"
## [361] "grey100" "honeydew" "honeydew1"
## [364] "honeydew2" "honeydew3" "honeydew4"
## [367] "hotpink" "hotpink1" "hotpink2"
## [370] "hotpink3" "hotpink4" "indianred"
## [373] "indianred1" "indianred2" "indianred3"
## [376] "indianred4" "ivory" "ivory1"
## [379] "ivory2" "ivory3" "ivory4"
## [382] "khaki" "khaki1" "khaki2"
## [385] "khaki3" "khaki4" "lavender"
## [388] "lavenderblush" "lavenderblush1" "lavenderblush2"
## [391] "lavenderblush3" "lavenderblush4" "lawngreen"
## [394] "lemonchiffon" "lemonchiffon1" "lemonchiffon2"
## [397] "lemonchiffon3" "lemonchiffon4" "lightblue"
## [400] "lightblue1" "lightblue2" "lightblue3"
## [403] "lightblue4" "lightcoral" "lightcyan"
## [406] "lightcyan1" "lightcyan2" "lightcyan3"
## [409] "lightcyan4" "lightgoldenrod" "lightgoldenrod1"
## [412] "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4"
## [415] "lightgoldenrodyellow" "lightgray" "lightgreen"
## [418] "lightgrey" "lightpink" "lightpink1"
## [421] "lightpink2" "lightpink3" "lightpink4"
## [424] "lightsalmon" "lightsalmon1" "lightsalmon2"
## [427] "lightsalmon3" "lightsalmon4" "lightseagreen"
## [430] "lightskyblue" "lightskyblue1" "lightskyblue2"
## [433] "lightskyblue3" "lightskyblue4" "lightslateblue"
## [436] "lightslategray" "lightslategrey" "lightsteelblue"
## [439] "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
## [442] "lightsteelblue4" "lightyellow" "lightyellow1"
## [445] "lightyellow2" "lightyellow3" "lightyellow4"
## [448] "limegreen" "linen" "magenta"
## [451] "magenta1" "magenta2" "magenta3"
## [454] "magenta4" "maroon" "maroon1"
## [457] "maroon2" "maroon3" "maroon4"
## [460] "mediumaquamarine" "mediumblue" "mediumorchid"
## [463] "mediumorchid1" "mediumorchid2" "mediumorchid3"
## [466] "mediumorchid4" "mediumpurple" "mediumpurple1"
## [469] "mediumpurple2" "mediumpurple3" "mediumpurple4"
## [472] "mediumseagreen" "mediumslateblue" "mediumspringgreen"
## [475] "mediumturquoise" "mediumvioletred" "midnightblue"
## [478] "mintcream" "mistyrose" "mistyrose1"
## [481] "mistyrose2" "mistyrose3" "mistyrose4"
## [484] "moccasin" "navajowhite" "navajowhite1"
## [487] "navajowhite2" "navajowhite3" "navajowhite4"
## [490] "navy" "navyblue" "oldlace"
## [493] "olivedrab" "olivedrab1" "olivedrab2"
## [496] "olivedrab3" "olivedrab4" "orange"
## [499] "orange1" "orange2" "orange3"
## [502] "orange4" "orangered" "orangered1"
## [505] "orangered2" "orangered3" "orangered4"
## [508] "orchid" "orchid1" "orchid2"
## [511] "orchid3" "orchid4" "palegoldenrod"
## [514] "palegreen" "palegreen1" "palegreen2"
## [517] "palegreen3" "palegreen4" "paleturquoise"
## [520] "paleturquoise1" "paleturquoise2" "paleturquoise3"
## [523] "paleturquoise4" "palevioletred" "palevioletred1"
## [526] "palevioletred2" "palevioletred3" "palevioletred4"
## [529] "papayawhip" "peachpuff" "peachpuff1"
## [532] "peachpuff2" "peachpuff3" "peachpuff4"
## [535] "peru" "pink" "pink1"
## [538] "pink2" "pink3" "pink4"
## [541] "plum" "plum1" "plum2"
## [544] "plum3" "plum4" "powderblue"
## [547] "purple" "purple1" "purple2"
## [550] "purple3" "purple4" "red"
## [553] "red1" "red2" "red3"
## [556] "red4" "rosybrown" "rosybrown1"
## [559] "rosybrown2" "rosybrown3" "rosybrown4"
## [562] "royalblue" "royalblue1" "royalblue2"
## [565] "royalblue3" "royalblue4" "saddlebrown"
## [568] "salmon" "salmon1" "salmon2"
## [571] "salmon3" "salmon4" "sandybrown"
## [574] "seagreen" "seagreen1" "seagreen2"
## [577] "seagreen3" "seagreen4" "seashell"
## [580] "seashell1" "seashell2" "seashell3"
## [583] "seashell4" "sienna" "sienna1"
## [586] "sienna2" "sienna3" "sienna4"
## [589] "skyblue" "skyblue1" "skyblue2"
## [592] "skyblue3" "skyblue4" "slateblue"
## [595] "slateblue1" "slateblue2" "slateblue3"
## [598] "slateblue4" "slategray" "slategray1"
## [601] "slategray2" "slategray3" "slategray4"
## [604] "slategrey" "snow" "snow1"
## [607] "snow2" "snow3" "snow4"
## [610] "springgreen" "springgreen1" "springgreen2"
## [613] "springgreen3" "springgreen4" "steelblue"
## [616] "steelblue1" "steelblue2" "steelblue3"
## [619] "steelblue4" "tan" "tan1"
## [622] "tan2" "tan3" "tan4"
## [625] "thistle" "thistle1" "thistle2"
## [628] "thistle3" "thistle4" "tomato"
## [631] "tomato1" "tomato2" "tomato3"
## [634] "tomato4" "turquoise" "turquoise1"
## [637] "turquoise2" "turquoise3" "turquoise4"
## [640] "violet" "violetred" "violetred1"
## [643] "violetred2" "violetred3" "violetred4"
## [646] "wheat" "wheat1" "wheat2"
## [649] "wheat3" "wheat4" "whitesmoke"
## [652] "yellow" "yellow1" "yellow2"
## [655] "yellow3" "yellow4" "yellowgreen"
pie(rep(1, 12), col = rainbow(12))
pie(rep(1, 12), col = heat.colors(12))
# pesquise: ?palette e ?rainbow
# Como salvar um grafico? Clicando em salvar ou usando o comando abaixo
# savePlot(filename = "NOME",type = "pdf")
Algumas funções usadas para a calcular medidas resumo de variáveis quantitativas são:
data(iris) # entre parenteses informamos o nome do conjunto de dados
iris # exibe o conjunto de dados
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## 11 5.4 3.7 1.5 0.2 setosa
## 12 4.8 3.4 1.6 0.2 setosa
## 13 4.8 3.0 1.4 0.1 setosa
## 14 4.3 3.0 1.1 0.1 setosa
## 15 5.8 4.0 1.2 0.2 setosa
## 16 5.7 4.4 1.5 0.4 setosa
## 17 5.4 3.9 1.3 0.4 setosa
## 18 5.1 3.5 1.4 0.3 setosa
## 19 5.7 3.8 1.7 0.3 setosa
## 20 5.1 3.8 1.5 0.3 setosa
## 21 5.4 3.4 1.7 0.2 setosa
## 22 5.1 3.7 1.5 0.4 setosa
## 23 4.6 3.6 1.0 0.2 setosa
## 24 5.1 3.3 1.7 0.5 setosa
## 25 4.8 3.4 1.9 0.2 setosa
## 26 5.0 3.0 1.6 0.2 setosa
## 27 5.0 3.4 1.6 0.4 setosa
## 28 5.2 3.5 1.5 0.2 setosa
## 29 5.2 3.4 1.4 0.2 setosa
## 30 4.7 3.2 1.6 0.2 setosa
## 31 4.8 3.1 1.6 0.2 setosa
## 32 5.4 3.4 1.5 0.4 setosa
## 33 5.2 4.1 1.5 0.1 setosa
## 34 5.5 4.2 1.4 0.2 setosa
## 35 4.9 3.1 1.5 0.2 setosa
## 36 5.0 3.2 1.2 0.2 setosa
## 37 5.5 3.5 1.3 0.2 setosa
## 38 4.9 3.6 1.4 0.1 setosa
## 39 4.4 3.0 1.3 0.2 setosa
## 40 5.1 3.4 1.5 0.2 setosa
## 41 5.0 3.5 1.3 0.3 setosa
## 42 4.5 2.3 1.3 0.3 setosa
## 43 4.4 3.2 1.3 0.2 setosa
## 44 5.0 3.5 1.6 0.6 setosa
## 45 5.1 3.8 1.9 0.4 setosa
## 46 4.8 3.0 1.4 0.3 setosa
## 47 5.1 3.8 1.6 0.2 setosa
## 48 4.6 3.2 1.4 0.2 setosa
## 49 5.3 3.7 1.5 0.2 setosa
## 50 5.0 3.3 1.4 0.2 setosa
## 51 7.0 3.2 4.7 1.4 versicolor
## 52 6.4 3.2 4.5 1.5 versicolor
## 53 6.9 3.1 4.9 1.5 versicolor
## 54 5.5 2.3 4.0 1.3 versicolor
## 55 6.5 2.8 4.6 1.5 versicolor
## 56 5.7 2.8 4.5 1.3 versicolor
## 57 6.3 3.3 4.7 1.6 versicolor
## 58 4.9 2.4 3.3 1.0 versicolor
## 59 6.6 2.9 4.6 1.3 versicolor
## 60 5.2 2.7 3.9 1.4 versicolor
## 61 5.0 2.0 3.5 1.0 versicolor
## 62 5.9 3.0 4.2 1.5 versicolor
## 63 6.0 2.2 4.0 1.0 versicolor
## 64 6.1 2.9 4.7 1.4 versicolor
## 65 5.6 2.9 3.6 1.3 versicolor
## 66 6.7 3.1 4.4 1.4 versicolor
## 67 5.6 3.0 4.5 1.5 versicolor
## 68 5.8 2.7 4.1 1.0 versicolor
## 69 6.2 2.2 4.5 1.5 versicolor
## 70 5.6 2.5 3.9 1.1 versicolor
## 71 5.9 3.2 4.8 1.8 versicolor
## 72 6.1 2.8 4.0 1.3 versicolor
## 73 6.3 2.5 4.9 1.5 versicolor
## 74 6.1 2.8 4.7 1.2 versicolor
## 75 6.4 2.9 4.3 1.3 versicolor
## 76 6.6 3.0 4.4 1.4 versicolor
## 77 6.8 2.8 4.8 1.4 versicolor
## 78 6.7 3.0 5.0 1.7 versicolor
## 79 6.0 2.9 4.5 1.5 versicolor
## 80 5.7 2.6 3.5 1.0 versicolor
## 81 5.5 2.4 3.8 1.1 versicolor
## 82 5.5 2.4 3.7 1.0 versicolor
## 83 5.8 2.7 3.9 1.2 versicolor
## 84 6.0 2.7 5.1 1.6 versicolor
## 85 5.4 3.0 4.5 1.5 versicolor
## 86 6.0 3.4 4.5 1.6 versicolor
## 87 6.7 3.1 4.7 1.5 versicolor
## 88 6.3 2.3 4.4 1.3 versicolor
## 89 5.6 3.0 4.1 1.3 versicolor
## 90 5.5 2.5 4.0 1.3 versicolor
## 91 5.5 2.6 4.4 1.2 versicolor
## 92 6.1 3.0 4.6 1.4 versicolor
## 93 5.8 2.6 4.0 1.2 versicolor
## 94 5.0 2.3 3.3 1.0 versicolor
## 95 5.6 2.7 4.2 1.3 versicolor
## 96 5.7 3.0 4.2 1.2 versicolor
## 97 5.7 2.9 4.2 1.3 versicolor
## 98 6.2 2.9 4.3 1.3 versicolor
## 99 5.1 2.5 3.0 1.1 versicolor
## 100 5.7 2.8 4.1 1.3 versicolor
## 101 6.3 3.3 6.0 2.5 virginica
## 102 5.8 2.7 5.1 1.9 virginica
## 103 7.1 3.0 5.9 2.1 virginica
## 104 6.3 2.9 5.6 1.8 virginica
## 105 6.5 3.0 5.8 2.2 virginica
## 106 7.6 3.0 6.6 2.1 virginica
## 107 4.9 2.5 4.5 1.7 virginica
## 108 7.3 2.9 6.3 1.8 virginica
## 109 6.7 2.5 5.8 1.8 virginica
## 110 7.2 3.6 6.1 2.5 virginica
## 111 6.5 3.2 5.1 2.0 virginica
## 112 6.4 2.7 5.3 1.9 virginica
## 113 6.8 3.0 5.5 2.1 virginica
## 114 5.7 2.5 5.0 2.0 virginica
## 115 5.8 2.8 5.1 2.4 virginica
## 116 6.4 3.2 5.3 2.3 virginica
## 117 6.5 3.0 5.5 1.8 virginica
## 118 7.7 3.8 6.7 2.2 virginica
## 119 7.7 2.6 6.9 2.3 virginica
## 120 6.0 2.2 5.0 1.5 virginica
## 121 6.9 3.2 5.7 2.3 virginica
## 122 5.6 2.8 4.9 2.0 virginica
## 123 7.7 2.8 6.7 2.0 virginica
## 124 6.3 2.7 4.9 1.8 virginica
## 125 6.7 3.3 5.7 2.1 virginica
## 126 7.2 3.2 6.0 1.8 virginica
## 127 6.2 2.8 4.8 1.8 virginica
## 128 6.1 3.0 4.9 1.8 virginica
## 129 6.4 2.8 5.6 2.1 virginica
## 130 7.2 3.0 5.8 1.6 virginica
## 131 7.4 2.8 6.1 1.9 virginica
## 132 7.9 3.8 6.4 2.0 virginica
## 133 6.4 2.8 5.6 2.2 virginica
## 134 6.3 2.8 5.1 1.5 virginica
## 135 6.1 2.6 5.6 1.4 virginica
## 136 7.7 3.0 6.1 2.3 virginica
## 137 6.3 3.4 5.6 2.4 virginica
## 138 6.4 3.1 5.5 1.8 virginica
## 139 6.0 3.0 4.8 1.8 virginica
## 140 6.9 3.1 5.4 2.1 virginica
## 141 6.7 3.1 5.6 2.4 virginica
## 142 6.9 3.1 5.1 2.3 virginica
## 143 5.8 2.7 5.1 1.9 virginica
## 144 6.8 3.2 5.9 2.3 virginica
## 145 6.7 3.3 5.7 2.5 virginica
## 146 6.7 3.0 5.2 2.3 virginica
## 147 6.3 2.5 5.0 1.9 virginica
## 148 6.5 3.0 5.2 2.0 virginica
## 149 6.2 3.4 5.4 2.3 virginica
## 150 5.9 3.0 5.1 1.8 virginica
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
str(iris) ## Da detalhes sobre o banco de dados
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
attach(iris)
## Medidas resumo
# Medidas de posicao - mean, median, min, max, quantile
summary(Sepal.Length) # Para uma variavel apenas
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.300 5.100 5.800 5.843 6.400 7.900
summary(iris) # para todas as variaveis
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
# Podemos extratificar pela variavel categorica - 3 alternativas
summary(Sepal.Length[Species=="setosa"])
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.300 4.800 5.000 5.006 5.200 5.800
summary(Sepal.Length[Species=="versicolor"])
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 5.600 5.900 5.936 6.300 7.000
summary(Sepal.Length[Species=="virginica"])
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 6.225 6.500 6.588 6.900 7.900
by(iris[,-5],Species,summary)
## Species: setosa
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.300 Min. :1.000 Min. :0.100
## 1st Qu.:4.800 1st Qu.:3.200 1st Qu.:1.400 1st Qu.:0.200
## Median :5.000 Median :3.400 Median :1.500 Median :0.200
## Mean :5.006 Mean :3.428 Mean :1.462 Mean :0.246
## 3rd Qu.:5.200 3rd Qu.:3.675 3rd Qu.:1.575 3rd Qu.:0.300
## Max. :5.800 Max. :4.400 Max. :1.900 Max. :0.600
## ------------------------------------------------------------
## Species: versicolor
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.900 Min. :2.000 Min. :3.00 Min. :1.000
## 1st Qu.:5.600 1st Qu.:2.525 1st Qu.:4.00 1st Qu.:1.200
## Median :5.900 Median :2.800 Median :4.35 Median :1.300
## Mean :5.936 Mean :2.770 Mean :4.26 Mean :1.326
## 3rd Qu.:6.300 3rd Qu.:3.000 3rd Qu.:4.60 3rd Qu.:1.500
## Max. :7.000 Max. :3.400 Max. :5.10 Max. :1.800
## ------------------------------------------------------------
## Species: virginica
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.900 Min. :2.200 Min. :4.500 Min. :1.400
## 1st Qu.:6.225 1st Qu.:2.800 1st Qu.:5.100 1st Qu.:1.800
## Median :6.500 Median :3.000 Median :5.550 Median :2.000
## Mean :6.588 Mean :2.974 Mean :5.552 Mean :2.026
## 3rd Qu.:6.900 3rd Qu.:3.175 3rd Qu.:5.875 3rd Qu.:2.300
## Max. :7.900 Max. :3.800 Max. :6.900 Max. :2.500
tapply(Sepal.Length,Species,summary)
## $setosa
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.300 4.800 5.000 5.006 5.200 5.800
##
## $versicolor
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 5.600 5.900 5.936 6.300 7.000
##
## $virginica
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.900 6.225 6.500 6.588 6.900 7.900
# Medidas de variabilidade -
var(Sepal.Length) # variancia
## [1] 0.6856935
sd(Sepal.Length) # desvio padrao
## [1] 0.8280661
var(iris[,1:4]) ## matrix de covariancias
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length 0.6856935 -0.0424340 1.2743154 0.5162707
## Sepal.Width -0.0424340 0.1899794 -0.3296564 -0.1216394
## Petal.Length 1.2743154 -0.3296564 3.1162779 1.2956094
## Petal.Width 0.5162707 -0.1216394 1.2956094 0.5810063
# sd(iris[,1:4]) ## Nao aceita data.frame
cv<- sd(Sepal.Length)/mean(Sepal.Length) # coeficiente de variacao
tapply(Sepal.Length,Species,sd)
## setosa versicolor virginica
## 0.3524897 0.5161711 0.6358796
# Quantis
quantile(Sepal.Length,probs=c(0.10,0.25,0.50,0.75,0.90))
## 10% 25% 50% 75% 90%
## 4.8 5.1 5.8 6.4 6.9
sapply(iris[,1:4],quantile,probs=c(0.10,0.25,0.50,0.75,0.90))
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 10% 4.8 2.50 1.40 0.2
## 25% 5.1 2.80 1.60 0.3
## 50% 5.8 3.00 4.35 1.3
## 75% 6.4 3.30 5.10 1.8
## 90% 6.9 3.61 5.80 2.2
plot(Sepal.Length[Species=="setosa"],Petal.Length[Species=="setosa"],cex=0.8,pch=8,xlim=range(Sepal.Length),ylim=range(Petal.Length),
xlab="Comprimento da sepala",ylab="Comprimento da Petala",cex.lab=1.2)
points(Sepal.Length[Species=="versicolor"],Petal.Length[Species=="versicolor"],cex=0.8,pch=2,col="blue")
points(Sepal.Length[Species=="virginica"],Petal.Length[Species=="virginica"],cex=0.8,pch=4,col="red")
# Fazendo uma lengenda
legend("left",c("setosa","versicolor","virginica"),pch=c(8,2,4),col=c("black","blue","red"),cex=0.8, bty="n")
# Se quisermos algum texto dentro do grafico
text(Sepal.Length,Petal.Length, labels=round(Petal.Width, 2), pos=1, offset=0.5,cex=0.5)
text(5,6,"texto")
## O que acontece se plotamos um fator versus uma variavel continua?
plot(Species, Petal.Width)
##
x = seq(1,10,by=1)
x2 = x^2
par(mfrow=c(2,4))
plot(x, x2)
plot(x, x2, type= "l")
plot(x, x2, type= "b")
plot(x, x2, type= "h")
plot(x, x2, type= "c")
plot(x, x2, type= "s")
plot(x, x2, type= "S")
plot(x, x2, type= "o")
# Histograma
hist(Sepal.Length)
hist(Sepal.Length, main="Histograma para o comprimento da sepala de flores de iris",
xlab="comprimento da sepala", ylab="frequencia")
hist(Sepal.Length, freq=F, main="Histograma para o comprimento da sepala
de flores de iris", xlab="comprimento da sepala", ylab="densidade de frequencia")
# Diagrama de ramo e folhas
stem(Sepal.Length)
##
## The decimal point is 1 digit(s) to the left of the |
##
## 42 | 0
## 44 | 0000
## 46 | 000000
## 48 | 00000000000
## 50 | 0000000000000000000
## 52 | 00000
## 54 | 0000000000000
## 56 | 00000000000000
## 58 | 0000000000
## 60 | 000000000000
## 62 | 0000000000000
## 64 | 000000000000
## 66 | 0000000000
## 68 | 0000000
## 70 | 00
## 72 | 0000
## 74 | 0
## 76 | 00000
## 78 | 0
# Diagrama de pontos
stripchart(Sepal.Length,method="stack", xlab= "comprimento da sepala")
stripchart(Sepal.Length~Species,method="stack",xlab="comprimento da sepala")
# Boxplot
boxplot(Sepal.Length,ylab="comprimento da sepala(cm)", main="Boxplot
para comprimento da sepala de flores de iris")
boxplot(Sepal.Length~Species, ylab = "comprimento da sepala",main =
"Boxplot do comprimento da sepala segundo especie")
par(mfrow=c(3,1)) # mfrow=c(3,1) especifica que a janela e dividida
hist(Sepal.Length[Species=="setosa"],freq=F,main="Histograma de comprimento da sepala para flores de iris setosa",
xlab="comprimento da sepala(cm)",ylab="densidade de frequencia")
hist(Sepal.Length[Species=="versicolor"],freq=F,main="Histograma de comprimento da sepala \n para flores de iris versicolor",
xlab="comprimento da sepala(cm)",ylab="densidade de frequencia")
hist(Sepal.Length[Species=="virginica"],freq=F,main="Histograma de comprimento da sepala
para flores de iris virginica", xlab="comprimento da sepala(cm)", ylab="densidade de frequencia")
#------------------------------------------
# Para facilitar a comparacao podemos especificar as mesmas classes para os 3 histogramas como o
# argumento breaks (limites de classe).
par(mfrow=c(3,1), mar= c(5,5,5,4)) ## alterando as margens da janela grafica
hist(Sepal.Length[Species=="setosa"],freq=F,breaks=seq(4,8,0.5),main = "Histograma de comprimento da sepala para flores de iris setosa",
xlab="comprimento da sepala(cm)",ylab="Densidade")
hist(Sepal.Length[Species=="versicolor"],freq=F,breaks=seq(4,8,0.5),
main="Histograma de comprimento da sepala para flores de iris versicolor",
xlab="comprimento da sepala(cm)", ylab="Densidade", col=2, angle = 70, density = 40)
hist(Sepal.Length[Species=="virginica"],freq=F, breaks=seq(4,8,0.5),
main="Histograma de comprimento da sepala para flores de iris virginica",
xlab="comprimento da sepala(cm)", ylab = "Densidade",
border = 4, col = "gray", density = 30, angle=180, cex.lab=2)
## Repare que diversos argumentos podem ser alterados para darem outra cara aos graficos
n <- 50
x <- seq(-1,1,length=n)
op <- par(mfrow=c(2,2), lwd=2, cex.axis=1.5, cex.lab=1.5)
plot(x, type="l")
plot(x, x^2, type="l")
plot(x, 1/x, type="l")
plot(x, x^3, type="l")
# um outro exemplo
op <- par(mfcol=c(2,3), lwd=2, cex.axis=1.5, cex.lab=1.5, mar=c(5,5,5,5))
plot(x, type="l", main="(a)")
plot(x, x^2, type="l", main="(b)",ylab=expression(x^2))
plot(x, 1/x, type="l", main="(c)")
plot(x, x^3, type="l", main="(d)")
plot(x,1-x^2, type="l", main="(e)")
plot(x, 1-1/x, type="l", main="(f)")
## Ilustrando o par(new=TRUE)
op <- par(mfrow=c(1,1), lwd=2, cex.axis=1.5, cex.lab=1.5)
n <- 20
x <- seq(-2,2,length=n)
y1 <- x
y2 <- x^2
y3 <- x^3
plot(x,y1, xlab="x", ylab="f(x)", type="l", lwd=2)
par(new=TRUE)
plot(x,y2, xlab="x", ylab="f(x)", type="l", lwd=2, lty=2)
par(new=TRUE)
plot(x,y3, xlab="x", ylab="f(x)", type="l", lwd=2, lty=3)
# acertando os eixos:
plot(x,y1, xlab="x", ylab="f(x)", type="l", lwd=2, xlim=range(x),
ylim=range(y1,y2,y3))
par(new=TRUE)
plot(x,y2, xlab="x", ylab="f(x)", type="l", lwd=2, lty=2,
ylim=range(y1,y2,y3))
par(new=TRUE)
plot(x,y3, xlab="x", ylab="f(x)", type="l", lwd=2, lty=3,
ylim=range(y1,y2,y3))
n <- 50
x <- seq(-2*pi,2*pi, length=n)
y <- sin(x)
# aplicando a funcoes lines
plot(x,y, xlab="x", ylab="seno(x)", main="Exemplo: lines()")
lines(x,y)
lines(x, rep(0,n), lty=2)
# aplicando simultaneamente as funcoes lines e abline:
plot(x,y, xlab="x", ylab="seno(x)", main="Exemplo: lines() e abline()")
lines(x,y)
x.axis <- seq(-6,6,by=2)
y.axis <- seq(-1,1,by=0.25)
abline(v=x.axis, h=y.axis, lty=2, col="gray")
# legendas com expressoes matematicas:
n <- 20
x <- seq(-1,1,length=n)
y1 <- x
y2 <- x^2
y3 <- x^3
op <- par(lwd=2, cex.axis=1.5, cex.lab=1.5)
plot(x,y1, xlim=range(x), ylim=range(y1,y2,y3), xlab="x", ylab="f(x)", type="l")
par(new=TRUE)
plot(x,y2, xlim=range(x), ylim=range(y1,y2,y3), xlab="x", ylab="f(x)", type="l",
lty=2)
par(new=TRUE)
plot(x,y3, xlim=range(x), ylim=range(y1,y2,y3), xlab="x", ylab="f(x)", type="l",
lty=3)
legend("bottomright", lty=1:3, c(expression(f(x)==x), expression(f(x)==x^2),
expression(f(x)==x^3)), lwd=2, bty="n", cex=1.5)
x = sample(1:10, 6)
y = sample(1:10, 6)
par(lwd=2)
plot(1:10, 1:10, axes=FALSE)
axis(1,1:10)
axis(2,1:10)
axis(3,1:10)
axis(4,1:10)
abline(h=y, v=x, col="gray", lty=3)
segments(x[1], y[1], x[2], y[2], col = 2)
segments(x[2], y[2], x[3], y[3], col = 2)
arrows(x[4], y[4], x[5], y[5], col = 4)
arrows(x[5], y[5], x[6], y[6], col = 4)
A criação das tabelas é dada por meio de fórmulas:
formula = (Heading(Marchas)* as.factor(gear) + Heading(Total) 1) ~ (n = 1) + (hp + wt) (mean + sd)
tabular(formula, data = mtcars)
tabular(Species ~ (n=1) + Format(digits=2)* (Sepal.Length +
Sepal.Width)*(mean + sd), data=iris)
##
## Sepal.Length Sepal.Width
## Species n mean sd mean sd
## setosa 50 5.01 0.35 3.43 0.38
## versicolor 50 5.94 0.52 2.77 0.31
## virginica 50 6.59 0.64 2.97 0.32
print(latex(tabular(Species ~ (n=1) +
Format(digits=2)* (Sepal.Length +Sepal.Width)*(mean + sd), data=iris)))
## \begin{tabular}{lccccc}
## \hline
## & & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\
## Species & n & mean & sd & mean & \multicolumn{1}{c}{sd} \\
## \hline
## setosa & $50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\
## versicolor & $50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\
## virginica & $50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\
## \hline
## \end{tabular}