Tutorial Completo do Software R
Tutorial Completo do Software R
Juazeiro-Ba
Sumário
1. Sobre o R .............................................................................................................. 5
1.1. O software R ................................................................................................... 5
1.2. Interface do R ................................................................................................. 5
1.3. Tipos de dados ................................................................................................ 6
1.4. Tipos de objetos .............................................................................................. 7
1.4.1. Vetores..................................................................................................... 7
1.4.2. Matrizes e arrays ...................................................................................... 8
1.4.3. Data-frames ........................................................................................... 11
1.4.4. Operações .............................................................................................. 11
1.5. Comandos básicos ........................................................................................ 12
1.5.1. Operadores e funções básicas do R ........................................................ 12
1.5.2. Operações e funções matemáticas .......................................................... 13
1.5.3. Função Ajuda no R ................................................................................ 14
1.6. Entrada de arquivos externos ........................................................................ 14
2. Estatística descritiva ............................................................................................ 15
2.1. Introdução..................................................................................................... 15
2.2. Medidas de tendência central ........................................................................ 15
2.2.1. Média aritmética ................................................................................ 16
2.2.2. Mediana Md .......................................................................................... 16
2.2.3. Moda Mo ............................................................................................... 16
2.3. Medidas de localização ................................................................................. 17
2.3.1. Percentil ................................................................................................ 17
2.3.2. Quartil ................................................................................................... 17
2.4. Medidas de variabilidade .............................................................................. 18
2.4.1. Variância ................................................................................................ 18
2.4.2. Desvio padrão ........................................................................................ 18
2.4.3. Coeficiente de variação .......................................................................... 18
2.4.4. Organização de dados ............................................................................ 19
3. Probabilidade ...................................................................................................... 20
3.1. Introdução..................................................................................................... 20
3.2. Calculando a probabilidade ........................................................................... 20
4. Variáveis aleatórias.............................................................................................. 20
4.1. Introdução..................................................................................................... 21
4.2. Variáveis aleatórias discretas ......................................................................... 21
4.2.1. Distribuição Binomial ............................................................................ 21
4.2.2. Distribuição de Poisson.......................................................................... 22
4.2.3. Distribuição Hipergeométrica ................................................................ 23
4.2.4. Distribuição Geométrica ........................................................................ 23
4.2.5. Distribuição Uniforme discreta .............................................................. 24
4.3. Variáveis aleatórias contínuas........................................................................ 24
4.3.1. Distribuição Uniforme ........................................................................... 25
4.3.2. Distribuição Exponencial ....................................................................... 25
4.3.3. Distribuição Normal .............................................................................. 26
4.4. Outras distribuições no R .............................................................................. 27
5. Inferência estatística ............................................................................................ 28
5.1. Introdução..................................................................................................... 28
5.2. Intervalo de confiança ................................................................................... 28
5.3. Teste de hipóteses ......................................................................................... 29
5.3.1. Teste de hipótese para média .................................................................. 29
5.3.2. Teste de hipótese para proporção............................................................ 33
5.3.3. Teste de hipótese para variância ............................................................. 35
5.3.4. Outros tipos de testes ............................................................................. 37
6. Regressão e correlação linear .............................................................................. 37
6.1. Introdução..................................................................................................... 37
6.2. Regressão linear simples ............................................................................... 38
6.3. Coeficiente de Correlação ............................................................................. 40
6.4. Coeficiente de Determinação ........................................................................ 41
7. Gráficos .............................................................................................................. 41
7.1. Introdução..................................................................................................... 41
7.2. Comandos básicos ........................................................................................ 41
7.2.1. Opções de configuração ......................................................................... 41
7.2.2. Funções utilizáveis................................................................................. 42
7.3. Gráfico de dispersão ..................................................................................... 44
7.4. Histograma ................................................................................................... 45
7.5. Barplot .......................................................................................................... 46
7.6. Boxplot ......................................................................................................... 47
7.7. Gráfico de pizza ............................................................................................ 49
8. Outras funcionalidades ........................................................................................ 51
8.1. Introdução..................................................................................................... 51
8.2. Programando com R ..................................................................................... 51
8.2.1. Entrada de dados.................................................................................... 52
8.2.2. Funções condicionais ............................................................................. 52
8.2.3. Funções interativas ................................................................................ 53
9. Referencias bibliográficas ................................................................................... 54
1. Sobre o R
1.1. O software R
Desde sua criação, o R vem ganhando cada vez mais adeptos em todo o mundo,
muito disso se deve ao fato de ser totalmente gratuito. Apesar disso, exigi do
usuário o conhecimento das análises que está se fazendo, diminuindo assim as
chances de uma interpretação errada dos resultados. Apesar de gratuito o R se
mostra uma ferramenta poderosa e neste tutorial serão descritos algumas de
suas aplicabilidades.
1.2. Interface do R
5
Figura 1: Interface inicial do R
6
> numero <- 100 #Dado numérico
> numero
[1] 100
>
> string <- "Letras" #Caracteres
> string
[1] "Letras"
>
>1>5 #Lógicos
[1] FALSE
>
> x <- 5+2i #Números complexos
>x
>[1] 5+2i
Cada dado tem atributos como tipo e tamanho, os quais podem ser descobertos
a partir dos comandos mode e length, consecutivamente.
> mode(numero)
[1] "numeric"
> length(numero)
[1] 1
> mode(string)
[1] "character"
> length(string)
[1] 1
> mode(x)
[1] "complex"
>
> mode(cos) #Tipo da função cosseno
>[1] "function"
1.4.1. Vetores
7
V <- c(1, 2, 3, 4, 5) Concatena valores.
V <- (n1: n2) Sequência de valores de n1 ate n2, pulando de uma em
uma unidade.
V<- rep (n1, r) Cria um vetor contendo r vezes o valor n1
V<- seq (x,y,z) Cria uma sequência de números, dentro do intervalo
{xy}, pulando intervalos de z unidades.
V<- gl (i, r) Cria um vetor contendo “i” níveis representados pelos
números de um a “i”, sendo que cada nível contém r
repetições.
8
Os dados podem ser acessados a partir dos índices de suas linhas e colunas,
através dos colchetes. Por “default” a matriz é preenchida por colunas e o
argumento opcional byrow=T inverte este padrão. Existem diversas formas
de se declarar uma matriz no R, algumas dessas formas serão
exemplificadas.
,,2
9
> M<-matrix(1:10,2)
>M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> M<- cbind(M,20) #Adiciona coluna como sendo a ultima
>M
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 3 5 7 9 20
[2,] 2 4 6 8 10 20
> M<- rbind(c(11,12,13),M) #Adiciona linha como sendo a primeira
>M
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 11 12 13 11 12 13
[2,] 1 3 5 7 9 20
[3,] 2 4 6 8 10 20
>#Na janela podemos trocar os nomes das colunas, adicionar outros valores,
entre outras coisas.
10
Figura 2: Janela de edição da função fix()
1.4.3. Data-frames
1.4.4. Operações
Sabendo os tipos de objetos fica mais prático aplicar operações nos dados,
pois se aplicados em vetores, matrizes, arrays ou data-frames todos os
dados irão receber as operações. Com esses objetos podem ser feitas
11
somas, multiplicações, subtrações, divisões, além de operações especificas
como matriz inversa ou transposta. Na tabela 2 são apresentadas essas
operações.
Função Descrição
A+B; A-B Soma ou subtração elemento a elemento de A e
B
A*B; A/B Produto ou divisão elemento a elemento de A e
B
A%*%B Produto matricial de A por B
B= t(A) Matriz transposta de A
B= solve(A) Matriz inversa de A
X= solve(A,b) Resolve o sistema linear Ax+b
det(A) Retorna o determinante de A
eigen(A) Retorna os autovalores e autovetores de A
sum(diag(A)) Calcula o traço da matriz A
Tabela 2: Operações dos tipos de objetos
Operadores Descrição
x <- 100 Atribuição de valor, x recebe o valor 100.
+,-,*,/ Adição, subtração, multiplicação e divisão.
^ Potenciação.
10%/%3 Arredonda o valor da divisão para um numero inteiro menor ou
igual da divisão, 10%/%3=3.
%% Fornece o resto da divisão.
x1: x2 Fornece valores de x1 ate x2, pulando uma unidade.
==, <, >, <=, Operações lógicas que são respectivamente: igual, menor, maior,
>=, != menor ou igual, maior ou igual e diferente.
& Operação lógica que significa “e”(verdade caso os dois sejam
verdade).
| Operação lógica que significa “ou” (verdade caso pelo menos
um seja verdade).
y~x Indica y em função de x.
; Pode ser usado para digitar mais de um comando na mesma
linha.
“” Delimita caracteres.
() Delimita argumentos de uma função.
[] Seleciona parte de um objeto.
{} Delimita uma função.
12
# Adiciona algum comentário, após # não ira interferir no
comando.
Tabela 3: Operadores do R
Além dos operadores, o R também tem funções básicas que servem como
comandos auxiliares, ajudando a manipular os objetos. Esses comandos são
vistos na tabela a seguir.
Função Descrição
ls() ou objects() Lista das variáveis criadas na sessão.
[Link]() Lista detalhada das variáveis criadas.
str(x) Mostra informações sobre x.
dir() Lista todos os arquivos na pasta de trabalho.
rm(A,...) Remove o(s) objeto(s) entre parênteses.
library([Link]) Ativa o pacote entre parênteses, na sessão em que for
usado, caso esteja instalado no computador, como por
exemplo, library(qcc).
class(x) Mostra que tipo de objeto é x.
factor(A) Transforma o objeto em fator, ou seja, divide em níveis.
edit() Edita o objeto abrindo outra janela.
Ctrl + L No teclado, ao pressionar limpa a tela.
length() Retorna o número de elementos do vetor.
function() Cria uma função específica.
Tabela 4: Funções básicas do R
Função Descrição
abs(x) Valor absoluto de x.
log(x,y) Logaritmo de x com base y.
log(x) Logaritmo natural de x.
exp(x) Exponencial elevado a x.
sin(x), cos(x) e tan(x) Seno, cosseno e tangente de x.
round(x, digits = n) Arredonda x com n casas decimais.
ceiling(x), floor(x) Arredonda x para o maior valor e para o menor valor,
respectivamente.
choose(n, k) Combinação de n tomando k a k.
factorial(x) Fatorial de x.
13
sqrt(x) Raiz quadrada de x.
sum(x) Soma dos elementos do vetor x.
prod(x) Produto dos elementos do vetor x.
max(x) Seleciona o maior elemento do vetor x
min(x) Seleciona o menor elemento do vetor x
range(x) Retorna o maior e o menor elemento do vetor x
Tabela 5: Funções matemáticas do R
log> log(exp(3))
[1] 3
log> log10(1e7) # = 7
[1] 7
14
No R é possível utilizar dados salvos sob a forma de planilhas, tabelas, etc. Mas
para isso deve-se fazer com que o R leia os arquivos, ou seja, fazer com que o
software reconheça as colunas separadas. As planilhas feitas no Excel e no
OpenOffice são salvas por padrão no tipo .xls e .ods, os quais não possuem
nenhum sinal de separação de suas colunas. Ao tentar importar para o R irá ser
exibido uma mensagem de erro, mas uma forma simples de se resolver esse
problema é salvar o arquivo com o formato .csv. Porém, antes de iniciar a
entrada de dados no R deve-se alterar a pasta de trabalho padrão em que o
arquivo de dados .csv será salvo. Para isso basta ir em Arquivo/Mudar dir... e
alterar o diretório em que será salvo o arquivo.
2. Estatística descritiva
2.1. Introdução
Após ter visto a maioria dos comandos básicos e as sintaxes do R para criação
de objetos e organização de dados, veremos agora, os comando para
manipulação da estatística descritiva no R. O objetivo da estatística descritiva é
organizar, apresentar e sintetizar os dados, sabendo isso veremos suas medidas.
15
centrais. Seriam essas medidas, a media aritmética, a mediana e a moda, as
quais serão apresentadas a seguir.
2.2.2. Mediana Md
2.2.3. Moda Mo
16
12345
11412
> subset(table(x),table(x)==max(table(x)))
3
4
2.3.1. Percentil
> x<-c(20,30,40,50)
> #Sintaxe do Percentil: quantile(dados,c(valores dos percentis)
> quantile(x,0.20) #Percentil 20º
20%
26
2.3.2. Quartil
> x<-c(20,30,40,50)
> #Sintaxe do Quartil: summary(dados) ou
> quantile(dados)
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
20.0 27.5 35.0 35.0 42.5 50.0
> quantile(x)
0% 25% 50% 75% 100%
17
20.0 27.5 35.0 42.5 50.0
2.4.1. Variância
∑ (
− ̅)
=
− 1
Como o R sempre interpreta o conjunto de dados com uma amostra será
dessa forma que a variância irá ser calculada. Sua sintaxe segue a seguinte
regra.
> x<-c(1,2,3,4,5)
> #Sintaxe da variância: var(dados)
> var(x)
[1] 2.5
> x<-c(1,2,3,4,5)
> #Sintaxe do Desvio padrão: sd(dados)
> sd(x)
[1] 1.581139
18
com relação à média aritmética. Seu calculo é dado por:
= ∗ 100%
̅
> x<-c(1,2,3,4,5)
> #Sintaxe do Coeficiente de variação: 100*sd(dados)/mean(dados)
> 100*sd(x)/mean(x)
[1] 52.70463 #Cerca de 52%
>[Link]<c("fundamental","fundamental","fundamental","medio","medi
o","medio","medio","superior","superior","medio","medio","medio","me
dio")
> table([Link])
[Link]
fundamental medio superior
3 8 2
Uma tabela também pode ser criada pela edição de uma matriz
preenchendo com seus valores através da função edit(). Além de matrizes,
o data-frame pode ser utilizado para tabelas maiores, utilizando em colunas
diferentes tipos de dados diferentes, podendo depois dividir cada variável
em levels através da função factor().
19
3. Probabilidade
3.1. Introdução
4. Variáveis aleatórias
20
4.1. Introdução
> dbinom(2,10,0.5)
[1] 0.04394531
21
Para ilustrar a distribuição iremos resolver o seguinte exemplo.
> dpois(3,10)
[1] 0.007566655
22
λ= 2.5
> ppois(2,2.5)
[1] 0.5438131
> dhyper(0,200,100,4)
[1] 0.01185408
23
1º sucesso ocorrer na x-esima tentativa. No R, sua sintaxe será da seguinte
forma.
> dgeom(3,0.5)
[1] 0.0625
24
As VAC (variáveis aleatórias contínuas) apresentam alguns modelos de
probabilidades, que serão apresentados a seguir.
> dunif(6,2,10)
[1] 0.125
> dunif(6,min=2,max=10)
[1] 0.125
P( ≤ ≤ ) = P( ≤ ) – P( ≤ )
> punif(7/2,min=0,max=10)
[1] 0.35
> P1<-punif(7/2,min=0,max=10)
> P1
[1] 0.35
> P2<-punif(3/2,min=0,max=10)
> P2
[1] 0.15
> P1-P2
[1] 0.2
25
se ajusta a dados relacionados a tempo de vida, possuindo um parâmetro λ
o qual é uma constante real positiva. No R, sua sintaxe será da seguinte
forma.
> dexp(10,0.3)
[1] 0.01493612
Ex) Sabe-se que um componente eletrônico tem vida útil representada por
uma densidade experimental, com taxa de falha de 10 falhas por hora
(isto é λ=10 ). O tempo médio de falha é 10 . Suponha que desejamos
determinar a probabilidade de um componente falhar antes do tempo de
vida média.
> x<-10^5
> rate<-10^(-5)
> pexp(x,rate)
[1] 0.6321206
> sum(dexp(0:x,rate))
[1] 0.6321274
26
sd – desvio padrão da distribuição
obs – número de observações
> dnorm(6,3,2.3)
[1] 0.07408744
(a) P( ≤ 34)
> pnorm(34,40,8)
[1] 0.2266274
> x<-pnorm(34,40,8)
> 50000*x
[1] 11331.37
11331 pontes
Distribuição Sintaxe
Beta dbeta(n, shape1, shape2)
Binomial negativa dnbinom(n, size, prob)
Couchy dcauchy(n, location, scale)
Estatística de Wilcoxon’s dwilcox(nn, m, n, n)
Fischer-Snedecor(F) df(n, df1, df2)
Gamma dgamma(n, shape, scale)
Logística dlogis(n, location, scale)
Log-normal dlnorm(n, meanlog, sdlog)
Qui-quadrado dchisq(n, df)
T-Student dt(n, df)
27
Weibull dweibull(n, shape, scale)
Tabela 6: Outras distribuições disponíveis no R
5. Inferência estatística
5.1. Introdução
( ̅− ( )
, + ( )
)
Com todas essas informações podemos criar uma função que generalize o
28
calculo do intervalo de confiança da seguinte forma.
Esse procedimento pode ser feito para qualquer intervalo de confiança ou até
mesmo para alguma função que o usuário deseje implementar.
29
> #Sintaxe do teste de hipótese para média
> [Link](Amostra,alternative="hipotese", mu=media, paired, [Link])
Onde:
Amostra – vetor contendo a amostra que se quer testar.
alternative – opção que podemos escolher.
· greater (teste unilateral de menor/igual a média).
· less (teste unilateral de maior/igual a média).
· [Link] (teste bilateral de igual a média).
mu – indica o valor da média.
paired – realiza o teste t pareado caso TRUE, e não realiza caso FALSE.
[Link] – confiança do teste. (1- α)
> [Link](c(1.3,2.5,6),alternative="less",mu=3,[Link]=.99)
Ex) Deseja-se investigar se uma certa moléstia que ataca o rim altera o
consumo de oxigênio desse órgão. Para indivíduos sadios, admite-se que
esse consumo tem distribuição normal com média de 12 /min. Os
valores medidos em cinco pacientes com moléstia foram: 14,4; 12,9; 15;
13,7 e 13,5. Qual seria a conclusão, ao nível de 5% de significância?
30
comparar as médias de consumo de oxigênio, ou seja, saber se a média
será igual ou diferente de 12 /min.
> amostra<-c(14.4,12.9,15,13.7,13.5)
> [Link](amostra,alternative="[Link]",mu=12,[Link]=0.95)
data: amostra
t = 5.2099, df = 4, p-value = 0.006472
alternative hypothesis: true mean is not equal to 12
95 percent confidence interval:
12.88745 14.91255
sample estimates:
mean of x
13.9
> #No teste vemos o intervalo de confiança (12.88745 à 14.91255) que
foi calculado anteriormente através de uma função feita no R, também
pode-se ver a média da amostra, o valor do t de student e o p-value, que
se for maior que α aceita , senão ele rejeita .
Como resposta, vemos que a hipótese foi rejeitada (p-value < α então
a hipotese alternativa sera verdadeira “alternative hypothesis: true mean
is not equal to 12”), dessa forma podemos afirmar com 5% de
significância que o consumo de oxigênio causado pela moléstia que ataca
o rim é diferente de 12 /min.
Ex) Dois catalisadores estão sendo analisados para determinar como eles
afetam o rendimento médio de um processo químico. Especificamente, o
catalisador 1 está corretamente em uso, mas o catalisador 2 é aceitável.
Uma vez que o catalisador 2 é mais barato, ele deve ser adotado, desde que
ele não mude o rendimento do processo. Um teste é feito em uma planta
piloto, resultando nos dados mostrados na tabela abaixo. Há alguma
diferença entre os rendimentos médios? Use α = 0.05 e considere
variâncias iguais.
31
Nesse exercício devemos verificar se há diferença entre as médias de
rendimento do catalisador 1 e catalisador 2. O teste a ser feito é com duas
amostras, para saber se suas médias são iguais ou diferentes.
Pessoas A B C D E F G H I J
Antes 120 104 93 87 85 98 102 106 88 90
Depois 116 102 90 83 86 97 98 108 82 85
Para esse caso, iremos fazer um teste pareado por média, com os dados da
amostra de antes e a amostra de depois.
Paired t-test
32
Ao marcar paired=TRUE, temos o teste pareado por média o qual
concluiu que rejeita : (μ − μ ≤ 0). Com um α de 5%
podemos concluir que o peso médio diminuiu com a dieta.
> [Link](6,50,0.4,alternative="[Link]",[Link]=.95)
33
0.12
Neste problema temos duas amostras, com seus sucessos e tamanhos. Com
isso iremos fazer um teste para verificar se as suas proporções são iguais, ou
seja, : p1=p2.
34
> [Link](X<-c(253,196),Y<-c(300,300),alt="[Link]",[Link]=(1-
0.01))
> x<-c(40,66,58,45)
> y<-c(30,31,32,36)
> [Link](x,y,ratio=1,alternative="[Link]",[Link]=0.95)
data: x and y
F = 20.4699, num df = 3, denom df = 3, p-value = 0.03365
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
35
1.32584 316.03820
sample estimates:
ratio of variances
20.46988
data: x and y
F = 2.3368, num df = 10, denom df = 15, p-value = 0.1338
alternative hypothesis: true ratio of variances is not equal to 1
90 percent confidence interval:
0.9186542 6.6482285
sample estimates:
ratio of variances
2.336798
Dessa forma concluímos que a razão entre as variâncias será igual a um, pois
o p-value é maior que a nossa significância (p-value > α), portanto não
36
rejeitaremos . E com um α=10%, podemos afirmar que as variâncias serão
iguais e consequentemente que sua razão é 1.
· [Link](x, [Link])
· [Link](x)
· [Link](formula,dados)
6.1. Introdução
A regressão e a correlação linear são técnicas usadas para estimar uma relação
37
que possa existir entre variáveis dentro da população estudada. Sua análise
compreende a avaliação de dados amostrais para saber como duas variáveis
estão se relacionando uma com a outra. Com a regressão conseguimos a
equação que descreve o relacionamento das variáveis em termos matemáticos,
já com a correlação conseguimos medir o grau de relacionamento entre essas
duas variáveis. Com essas técnicas podemos saber as relações das variáveis e
transforma-lo em um modelo matemático.
> x<-c(120,135,160,200)
> y<-c(10,16,18,24)
> data = [Link](x,y)
> lm( y~x, data)
Call:
lm(formula = y ~ x, data = data)
Coefficients:
(Intercept) x
-7.5162 0.1595
38
Coso seja necessário verificar os resultados da função lm, inclusive os
coeficientes, devemos usar o comando summary:
> #Sintaxe
>summary()
Call:
lm(formula = y ~ x, data = data)
Residuals:
1 2 3 4
-1.618399 1.989779 0.003407 -0.374787
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.51618 4.74194 -1.585 0.2538
x 0.15945 0.03026 5.269 0.0342 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Além do summary temos alguns importantes resultados que podem ser obtidos
através de comandos simples.
39
traçar a reta de regressão, que seria a melhor reta do gráfico, através da função
abline(). Além dos pontos, podemos pedir para plotar a própria regressão linear,
dessa forma serão mostrados diversos gráficos relacionados ao ajuste do modelo
linear.
> plot(x,y)
> abline(regressao)
22
18
y
14
10
> plot(regressao)
> x<-c(3,6,8,15,20)
> y<-c(26,20,17,9,4)
> cor(x,y)
[1] -0.9915304
40
6.4. Coeficiente de Determinação
> x<-c(3,6,8,15,20)
> y<-c(26,20,17,9,4)
> cor(x,y)^2
[1] 0.9831325
7. Gráficos
7.1. Introdução
41
· xlab: título para o eixo x.
· ylab: título para o eixo y.
· main: título principal do gráfico.
· col: cor de preenchimento do gráfico, podendo até ser um vetor.
Para conferir as cores disponíveis basta acessar o comando colors().
>#Sintaxe
>locator(n)
Onde n é o número de pontos
> x<-1:10
> y<-x^2+2
> plot(x, y)
> locator(2)
$x
[1] 4.065505 8.256650
$y
[1] 19.6579 71.0741
>#Sintaxe
>text(x, y, texto, cex, col)
Onde:
x – posição relativa ao eixo x
y – posição relativa ao eixo y
texto – texto que irá ser inserido na coordenada
cex – proporção relativa ao tamanho dos caracteres, por padrão é 1
col – cor do texto, por padrão é 1
> x<-1:10
42
> y<-x^2+2
> plot(x, y)
> text(2,6,"Ponto",cex=0.5,col="blue")
> text(locator(1),"Ponto escolhido" #Irá escrever a mensagem no
ponto que for clicado
>#Sintaxe
>identify(x, y, n)
>#Sintaxe
>par(mfrow=c(x,y)) ou par(mfcol=c(x,y))
Onde x será número de divisões horizontais e y o número de
divisões verticais.
> par(mfcol=c(1,2))
> x<-1:8
> y<-9:2
> plot(x,y)
> plot(y,x) #Os dois gráficos ficaram lado a lado
43
· [Link], [Link], [Link], [Link]: Controla os tamanhos das
fontes do título, do rodapé, dos nomes dos eixos e dos valores dos
eixos, respectivamente. Os valores menores que 1 diminuem a fonte
e maiores que 1 aumentam a fonte. São controlados pela função par,
mas também podem ser incluídos no código de cada gráfico.
>#Sintaxe
>par([Link]=1.5)
>par ([Link]=0.3)
>#Foi modificados os tamanhos da fonte do título principal e dos nomes
dos eixos
44
Figura 3: Gráfico de dispersão dos pontos x e y do exemplo acima. E também a linha de tendência
7.4. Histograma
>#Sintaxe do histograma
>hist.(dados, nclass, breaks, prob)
Onde:
nclass – número de classes do histograma, não será usado caso breaks tenha
sido definido
breaks – vetor contendo os pontos de definição das larguras das barras do
histograma, não será usado caso nclass tenha sido definido
45
prob – se for TRUE plotara a densidade, caso seja FALSE plotara a frequência
absoluta
3
2
1
0
0 2 4 6 8 10 12 14
7.5. Barplot
46
>#Sintaxe do barplot
>barplot(dados, [Link], space, width, horiz)
Onde:
[Link] – legenda do gráfico, lembrando que caracteres devem ser escritos
dentro das apas (“ ”)
space – espaço deixado antes de cada barra
width – vetor contendo largura relativa de cada barra com relação as demais
horiz – Valor lógico. . Se “FALSE”, as barras são serão dispostas verticalmente.
Se “TRUE”, as barras são dispostas horizontalmente.
[Link] – é um vetor de nomes que aparecem em cada bar (caso não esteja
definido).
x<- c(10, 15, 22, 7)
> names(x)<- c("Sem escolaridade", "Ensino fundamental", "Ensino médio",
"Ensino superior")
> barplot(x,[Link]="Legenda do gráfico",main="Gráfico exemplo do
Barplot",col=c("red", "green", "gray", "blue"), xlab="Escolaridade",
ylab="Frequência")
># O gráfico gerado é mostrado logo abaixo
Legenda do gráfico
15
Frequência
10
5
0
Escolaridade
7.6. Boxplot
47
formato lembra uma caixa, onde a linha superior da caixa representa o terceiro
quartil, a linha do meio representa o segundo quartil e a linha de baixo o
primeiro quartil. Nas suas extremidades tem os outliers. Sua sintaxe no R é a
seguinte.
>#Sintaxe do boxplot
>boxplot(dados, outline, horizontal)
Onde:
outline – se for TRUE plota os outliers, caso FALSE não plota
horizontal – Valor lógico. Se “horizontal= TRUE” as caixas estarão na
horizontal. Caso “horizontal=FALSE” as caixas serão verticais..
> x<-c(20,18,22,25,19,16.5,30,18)
> y<-c(1, 2, 2, 9, 5, 7.4, 4.2, 10)
> boxplot(x, y main="Gráfico exemplo do Boxplot",col="red",xlab="eixo
x",ylab="eixo y")
>#O gráfico é mostrado logo abaixo
15
10
5
0
eixo x
48
7.7. Gráfico de pizza
x<-c(10,20,30,40,50)
> pie(x,labels=c("A","B","C","D","E"),main="Exemplo do Gráfico de
pizza",col=c("red","blue","green","gray", "brown"))
>#Para colocar a legenda
>legend (“posição”,c(“descrição das legendas”), fill, cex)
Onde:
Posição – Posição da legenda no gráfico. Pode ser: “topleft”, “topright”, “top”,
“bottomleft”, “bottomright”, “bottom”, “left”, “right” e “center”.
Descrição – Vetor de texto.
Fill – Vetor de cores em cada fatia.
Cex – Tamanho da fonte da legenda. Ela está definida em 1.
>legend ("topleft", legend=c("A","B","C","D","E"),
fill=c("red","blue","green","gray","brown"))
>#O gráfico gerado é mostrado logo abaixo
49
Exemplo do Gráfico de pizza
A
B C
C
D B
E
50
Figura 9: Exemplo do gráfico citado acima.
8. Outras funcionalidades
8.1. Introdução
51
funções condicionais e as funções iterativas.
> scan()
1: 6
2: 3
3:
Read 2 items
[1] 6 3
>#Usado dessa forma à função não terá limites, ela só ira finalizar quando
o usuário apertar a tecla ENTER duas vezes.
>#A função aqui esta limitada para ler 3 números do usuário
> scan(n=3)
1: 15
2: 3
3: 9
Read 3 items
[1] 15 3 9
Para saber todos os argumentos que a função suporta e como usá-los basta
acessar o help(scan) no software R.
52
hipótese em questão seja verdadeira, se for falso fará outra ação. É válido
lembrar também que é possível fazer diversos “loopings condicionais” na
mesma função. No R, a função if() é feita da seguinte forma.
> x<-3
> if(x>0)
+ {cat("x é um número positivo\n")}
x é um número positivo
>
> idade<-scan(n=1)
1: 63
Read 1 item
> idade
[1] 63
> if(idade<18){
+ cat("Menor de idade\n")
+ }else if(idade<60){
+ cat("Pessoa adulta\n")
+ }else {cat("Pessoa idosa\n")}
Pessoa idosa
> sémaforo<-"verde"
> switch(sémaforo, verde="Continue", amarelo="Atenção",
vermelho="Pare")
[1] "Continue"
53
> #1.933835 é o primeiro número aleatório maior que 1 gerado
>#Sintaxe
>for(<variável de controle> in <conjunto>)
{bloco de ações}
9. Referencias bibliográficas
54