Você está na página 1de 4

> x

R
Este material é um auxílio de consulta rápida, o conhecimento aqui
[1] 1 2 3 4 5
> a <- x>3
> a
[1] FALSE FALSE FALSE TRUE TRUE

apresentado deve ser fundamentado pelas atividades de aula e principalmente 5.4) Informações sobre valores nulos estatisticamente, NA=valor faltando.
pelas bibliografias fornecidas. Cada disciplina demanda parte do NaN=não é numero.
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la. > y<-c(1:3,NA,NaN)
> y
1) Introdução [1] 1
> is.na(y)
2 3 NA NaN

[1] FALSE FALSE FALSE TRUE TRUE


1.1) Inicie seu trabalho sempre em uma pasta nova e automaticamente o r salva os > is.nan(y)
dados e historico dos comandos - se ao sair vc salvar o workspace. [1] FALSE FALSE FALSE FALSE TRUE
1.2) Para acessar o octave via terminal linux digite: 5.5) Transformar vetor em matriz
$ R > d<-1:6
> d
1.3) Para acessar ajuda de qualquer função, digite “?funcao”. [1] 1 2 3 4 5 6
> ?sum > x<-matrix(x,3,2)
[,1] [,2]
1.4) Listar os objetos usadas no momento [1,] 1 4
> ls() [2,] 2 5
[3,] 3 6
1.5) Apague os objetos desnecessários > x
> rm(x,y) [,1] [,2]
[1,] 7 7
1.6) Configurar editor de funções e dados [2,] 2 5
> options(editor='gedit') [3,] 3 6
1.7) Abre editor de dados ou funções, depende do tipo de objeto 5.6) Obter tamanho do vetor
> fix(objeto) > length(c(10,20,NA))
[1] 3
1.8) feche o programa. > length(na.omit(c(10,20,NA)))
> q() [1] 2
#tecle 'y' para salvar os comandos e dados digitados na tela

1.9) instalação de pacotes. Obtenha os pacotes em: http://cran.r-project.org/ 6) Objeto: Data Frames
> install.packages('tseries_0.10-26.tar.gz')
6.1) Construindo um data frame
> dados <- data.frame(x=1:5,y=2*1:5)
2) Nomes de variáveis > dados
x y
1 1 2
2.1) Adotamos uma letra minúscula como prefixo do nome da variável para indicar 2 2 4
seu tipo. 3 3 6
enumero <- 1.123 # um escalar inteiro ou decimal. 4 4 8
ttexto <- “texto” 5 5 10
vvetor <- c(1,2,3,4,5,6) #vetor nao tem prefixo
dfdados <- data.frame(x=c(1,2),y=c(3,4))# para dados tipo 6.2) Acessando a um item do dataframe
dataframe > dados$x
ldados <- list(nome1=valor1,..,nomeN=valorN)# dados tipo lista [1] 1 2 3 4 5

6.3) lendo os campos de um data frame


3) Operações Matemáticas > names(dados)
[1] 'x' 'y'
3.1) Operações básicas. “+” Soma; “-” Subtração; “*” Multiplicação; “/” Divisão;
6.4) Calculando valores de linhas
“^” Potenciação; “%%” resto da divisão; “%/%” quociente da divisao > rowSums(dados)
[1] 3 6 9 12 15
3.2) Operações matemáticas. sin(x); cos(x); tan(x); asin(x);
acos(x); atan(x); exp(x); logaritmo na base e: log(x); logaritmo na
base 10: log10(x); valor absoluto: abs(x); menor numero inteiro (não
menor que o passado como parâmetro): ceil(x); maior numero inteiro (nao 7) Objetos: Lista
maior do que o passado como parâmetro): floor(x); arredenda corretamente: Muito usado para saida de funçoes
round(x,digits=2); exibe numero de digitos: signif(x,digits=2); raiz 7.1) Construindo uma lista
quadrada: sqrt(x); pi valor de pi=3,14.... Use NA para valores em falta e NaN > saida<-list(x=10,arq='dados')
para valores não é numero. > saida
$x
4) Operadores [1] 10

Teste 1 Teste 2 & | == $arq


[1] 'dados'
true true true true true
true false false true false
7.2) Acessando a um item de uma lista
> saida$arq
false true false true false [1] 'dados'

false false false false true 7.3) lendo os campos de uma lista
> names(saida)
[1] 'x' 'arq'
5) Objeto: Vetor
5.1) Criar vetor rápido. 8) Programando com Script
> x<-c(1,2,3) Para programação no R, usa-se toda a capacidade de processamento disponível.
> x Use #... para comentário simples. if(F){} para comentário em bloco.
[1] 1 2 3
> x<-c(1:5) 8.1) Estrutura do Script
> x
[1] 1 2 3 4 5 /ea_catalunha_tarefa/exercicio1/exercicio1.sr
> x[-(2:3 )] # o indice negativo exclui valores do vetor sink('resultados.txt')
[1] 1 4 5 # Codigo do Script
sink()
5.2) Criar sequencia. seq(from,to,by,length). #by=incremento,
length=comprimento. 8.2) Executando o Script de dentro do R
> seq(1,10,by= 2)
[1] 1 3 5 7 9 > source('relatorio01.sr',echo=T)
> seq(from=1,length=10,by= 2)
[1] 1 3 5 7 9 11 13 15 17 19
8.3) Estrutura básica de arquivos e pastas de uma tarefa
ea_catalunha_tarefa
5.3) Vetores lógicos |-- .RData
|-- .Rhistory

Resumo R. Prof. Dr. Catalunha - Versão atualizada em 12/11/2013 às 16:13 hs Página 1 de 4


|-- relatorio01.sr while (condicao){
|-- dados.txt # executa codigo enquanto condicao for verdadeira
|-- resultados.txt }
`-- graficoA.png
Obs.: o arquivo sublinhado será criado automaticamente pelo script. 12.4) Lê valor do teclado.
> num <- scan()
8.4) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho. 1: 10
Separador por espaço e Use # para comentário deste arquivo. 2: 20
3:
/ie_catalunha_tarefa/dados.txt > txt<-scan(what='character')
1: aaa
#Autor: Prof. Dr. Catalunha 2: bbb
#Fonte do dado 3:
x y
1 4
2 5
3 6 13) Estatísticas Descritiva
13.1) Funções estatísticas básicas.Verifique sempre a presença de valores
9) Programando com Funções NULOS=NA
Para programação no R, usa-se toda a capacidade de processamento disponível. > x <- c(1:5) > mean(x)
Use #... para comentário simples > x [1] 3
[1] 1 2 3 4 5
9.1) Cria e editar uma função
> fix(ffuncao) > max(x) > var(x)
[1] 5 [1] 2.5
9.2) Estrutura da função
> min(x) > sd(x)
function(entrada01=valor,...,entradaN=”valor”){ [1] 1 [1] 1.581139
# codigo da função
ParamSaida<-list(param01=valor,...,paramN=”valor”) > range(x) > summary(x)
return(ParamSaida) [1] 1 5 ...
}
> length(x) > sort(x,decreasing=TRUE)
[1] 5 [1] 5 4 3 2 1
9.3) O nomes dos parametros de retorno da função podem ser lidos com
> names(ffuncao) > sum( x) na.exclude(c(2,NA,1))
[1] 15 [1] 2 1
9.4) Executando funções
> paramSaida <- ffuncao(entrada01,entrada02) > hist(x) > boxplot(x)
O objetos paramSaida contém todos os objetos da lista de return, além da saida > plot(x)
natural da função
9.5) Exportar funcao como objeto 14) Distribuições de probabilidade
> save(ffuncao,file='ffuncao.objr') As distribuições mais usadas são, com respectivo nome usado no R
9.6) Importar função salva como objeto Distribuição Função no R Parâmetros e configurações
>load(“ffuncao.objr”)
Normal ?norm Média, Desvio Padrão,...
10) Leitura em arquivo t ?t GL
10.1) Ler dados ascii de arquivo salvando em DataFrame 2 ?chisq GL
> dados<-read.table('dados.txt',head=T) χ
> dados
x y f ?f GL1, GL2
1 1 4
2 2 5 Observação: No R para cada distribuição de probabilidade implementada há 4
3 3 6 prefixos básicos para indicar funções diferentes para o mesmo modelo de
probabilidade, são elas:
11) Escrita em arquivo d: Calcula a densidade de probabilidade, f(x) no ponto x.
p: Calcula a probabilidade,(entre 0 a 1), acumulada F(x) no ponto x=?
11.1) Escreve DataFrame em arquivo ascii. dados =um dataframe. q: Calcula o quantil, x=?, correspondente a uma dada probabilidade (entre 0 a 1)
>write.table(dados,file='resultados') r: retira uma amostra da distribuição
11.2) Associar o arquivo a um objeto. “a” = adicionar. “w” = escrever. Exemplo para distribuição normal:
>arq<-file('resultados','a') dnorm(2.3,3,0.5) 0.2994549
11.3) Envia texto e valores para arquivo pnorm(2.3,3,0.5) 0.08075666
>cat(“texto”,objvetor,”\n”,file=arq)
qnorm(0.08,3,0.5) 2.297464
11.4) Captura saida de comando R e envia para arquivo
>capture.output(summary(modelo),file=arq) rnorm(5,3,0.5) 3.904574 2.618711
3.119791 3.432854
11.5) Junta texto para formar string
>paste(dados,'_resultados',sep='')
2.459779

11.6) fechar arquivo


>close(arq)
15) Testes estatísticos z,t,f, χ 2
11.7) Redirecionando saída do R para arquivo. 2
Em que teste é a estatistica do teste em questão podendo ser z,t,f, χ
> sink('resultados')
Rejeita H0 Não Rejeita H0 Rejeita H0
11.8) Retorna saída do R para tela Região Crítica Região Crítica
> sink()
p-value< α p-value> α p-value< α
12) Decisão e Iteração
12.1) Estrutura de controle if teste< teste α teste teste> teste α
if (condicao){
#caso verdadeiro
Existem ampliações deste quadro, veja na pag 221
}else if(condicao){
#caso verdadeiro Situação H0: Teste Equação Exemplo
}else{ 2 2 2 2 Pág 162, exp 8.10
#caso falso σ =σ # testando χ (qui-quadrado) X i− ̄X (n−1) s
0
a variância Não simétrico, bi e χ 2=∑ 2 = 2
Pág 233, exp 10.13
} σ σ0
unicaudal
12.2) Estrutura de repetição for
for (variavel in inicio:fim){ σ 21=σ 22 # testando f (teste f) S 21 /σ 21 Pág 233, exp 10.14
Não simétrico, bi e F=
duas variâncias
# executa codigo unicaudal S 22 /σ 22
}

12.3) Estrutura de repetição while

Resumo R. Prof. Dr. Catalunha - Versão atualizada em 12/11/2013 às 16:13 hs Página 2 de 4


μ=μ0 aov1 <- aov(obs ~ trat, data=quadro)
# testando a z (normal) ̄x−μ Pág 155, exp 8.6
média Simétrico, bi e z= σ 0 Pág 215, exp 10.4
σ # sendo unicaudal #Análise de Variancia CAB
conhecido √n aov1 <- aov(obs ~ trat + bloco, data=quadro)

μ=μ0 #Análise de Variancia FAT


# testando a t (teste t de Student) ̄x −μ 0 Pág 164, exp 8.14
aov1 <- aov(obs ~ fa*fb, data=quadro)
média Simétrico, bi e t= Pág 217, exp 10.5
μ1 =μ 2 # amostras unicaudal S
comparativas de √n summary(aov1)
médias
σ # desconhecido
18) Gerar Graficos
16) Regressão Linear e Não-Linear 18.1) Envia gráficos para arquivo. Se plot mostra vários gráficos use %d para
numerar as saida automaticamente. Após voltar dispositivo para tela.
16.1) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho. >png(file=“graficoA%d.png”)
Separador por espaço
y x1 x2 Após voltar dispositivo para tela.
1 4 6 >dev.off()
2 5 7
3 6 9 18.2) Exemplos de gráficos.
x<-c(1,2,3,4,5,6,7,8,9)
y1<-3*log(x)
16.2) Script para análise Regressão Linear y2<-10/x
eqreg<-"y~x" ou "y~x+I(x^2)" ou "y~x1+x2" y3<-log(x)
dados<-read.table(file='dados',head=T) plot(x,y1,ann=FALSE,type='o',
coefreg<-lm(eqreg,data=dados) col='red',lty=1,lwd=1,pch=22,cex=1,ylim=c(0,10),xlim=c(0,10))
cor(dados) lines(x,y2,col='blue',lty=2,lwd=3)
confint(coefreg) points(x,y3,col='green',lwd=5,pch=21,cex=5)
plot(coefreg) title(main='Grafico', col.main='blue', font.main=1)
summary(coefreg) title(xlab='xXxX', col.lab='black', font.lab=2)
anova(coefreg) title(ylab='yYyY', col.lab='black', font.lab=3)
influence(coefreg) legend('topright',legend=c('simbolo+linha','linha','simbolo'),c
predict.lm(coefreg,newdata=data.frame(x=c(...)),interval="confi ol=c('red','blue','green'),lwd=c(1,3,5),lty=c(1,2,0),pch=c(22,N
dence",se.fit=T) A,21))
predict.lm(coefreg,newdata=data.frame(x=c(...)),interval="predi
ction",se.fit=T)
Em que: ann=FALSE(sobrescreve título dos eixos x e y). type=Tipo de grafico
invisible(library(MASS)) (p=ponto;l=linhas;o= ponto e linha). col=cor do grafico(red;blue;green;...).
stepAIC(coefreg,direction="both") lty=tipo de linha, veja ilustração. lwd=espessura da linha. pch=tipo do ponto,veja
invisible(library(MPV)) ilustração. cex=tamanho do ponto. xlim=limites de x. ylim=limites de y.
PRESS(coefreg) main=título do grafico. xlab=texto do eixo x. ylab=texto do eixo y. col.main=cor
invisible(library(wle))
mle.cp(coefreg)
do texto do titulo. col.lab=cor do texto do eixo. font.main=tipo da fonte do título
(1=simples;2=negrito;3=italico;4=negrito e itálico).
16.3) Script para análise Regressão Não-Linear
eqreg<-"y~1/x1+x2"
dados<-read.table(file=”dados”,head=T)
coefreg<-nls(eqreg,data=dados,start=list(x1=0.1,x2=0.2))

Apesar de bastante otimizado, este procedimento não-linear de
ajustamento/regressão depende do número de dados, do tipo de equação a ser
ajustada e das estimativas iniciais dos coeficientes, podendo não convergir
satisfatoriamente em alguns casos.

17) Delineamento Experimental


17.1) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho.
Separador por espaço. Os Delineamentos Esperimentais serão: (1) Inteiramente
Casualizado – IC. (2) Completamente Aleatorizado em Bloco – CAB. (3) Fatoriais
– FAT. A tabela a seguir apresenta a estrutura dos dados de entrada para cada um,
em que: coluna “trat”, “bloco”,”fa” e “fa” do tipo factor, “obs” do tipo numérica.
As observações podem ter tamanhos diferentes para cada tratamento
IC CAB FAT
trat obs trat bloco obs fa fb obs
1 y 1 1 y 1 1 y
1 y 1 2 y 1 1 y
1 y 1 3 y 1 2 y
2 y 2 1 y 1 2 y
2 y 2 2 y 2 1 y
2 y 2 3 y 2 1 y
2 y 2 2 y
2 2 y

17.2) Script de análise


#Leitura dos dados IC
quadro <-
read.table(file='dados',head=T,colClasses=c(trat='factor',obs='
numeric'))

#Leitura dos dados CAB


quadro <-
read.table(file='dados',head=T,colClasses=c(trat='factor',bloco
='factor',obs='numeric'))

#Leitura dos dados FAT


quadro <-
read.table(file='dados',head=T,colClasses=c(fa='factor',fb='fac
tor',obs='numeric'))

#Análise de Variancia IC

Resumo R. Prof. Dr. Catalunha - Versão atualizada em 12/11/2013 às 16:13 hs Página 3 de 4


resultado dos comandos.
/ie_catalunha_tarefa/resultados

> dados <- read.table("dados", head = T)

> summary(dados)
x y
Min. :1.0 Min. :4.0
1st Qu.:1.5 1st Qu.:4.5
Median :2.0 Median :5.0
Mean :2.0 Mean :5.0
3rd Qu.:2.5 3rd Qu.:5.5
Max. :3.0 Max. :6.0

> sink()

21.4) Processando a analise a partir de um script shell, considere o script


/cn_catalunha_tarefa/estatistica.sh
#!/bin/bash

Rscript estatistica.sr

21.5) Mudando a permissão do script para execução, caso necessário


$ chmod 777 estatistica.sh
19) Letras Gregas e Equações matemáticas 21.6) Processando o script shell, teremos o mesmo resultado do item 21.2
Use os nomes das letras assim: $ ./estatistica.sh
Α α alpha Β β beta Γ γ gamma Δ δ delta Ε ε epsilon
22) Referências Bibliograficas
Ζ ζ zeta Η η eta Θ θ theta Ι ι iota Κ κ kappa Maior parte deste material foi escrito com base no estudo e entendimento da teoria
Λ λ lambda Μ μ mu Ν ν nu Ξ ξ xi Ο ο omicron matemática e do software. Contudo algumas partes foram contribuições adaptadas
dos seguintes autores.
Π π pi Ρ ρ rho Σ σ sigma Ττ tau Υ υ upsilon (1) http://www.statmethods.net/advgraphs/axes.html
(2) http://stat.ethz.ch/R-manual/
Φ φ phi Χ χ chi Ψ ψ psi Ωω omega

20) Testes de Hipoteses


2
Em que teste é a estatistica do teste em questão podendo ser z,t,f, χ se H0: μ = 0
e H1: μ ≠ 0
Rejeita H0 Não Rejeita H0 Rejeita H0
Região Crítica Região Crítica
p-value< p-value> p-value<
α α α
teste< teste α teste teste> teste α

21) Via terminal e Script Shell


21.1) Considere o seguinte programa
/ie_catalunha_tarefa/estatistica.sr
sink('resultados')
dados<-read.table('dados',head=T)
summary(dados)
sink()

/ie_catalunha_tarefa/dados
x y
1 4
2 5
3 6

21.2) Processando programa via terminal, modo 1.


$ Rscript estatistica.sr
Neste caso o script r é processado mas não mostra os comandos de entrada, apenas
resultado do comando.
/ie_catalunha_tarefa/resultados
x y
Min. :1.0 Min. :4.0
1st Qu.:1.5 1st Qu.:4.5
Median :2.0 Median :5.0
Mean :2.0 Mean :5.0
3rd Qu.:2.5 3rd Qu.:5.5
Max. :3.0 Max. :6.0

21.3) Processando programa via terminal, modo 2.


$ Rscript -e "source('estatistica.sr',echo=T)"
estatistica.sr
Neste caso o script r é processado e mostra todos os comandos de entrada e o

Resumo R. Prof. Dr. Catalunha - Versão atualizada em 12/11/2013 às 16:13 hs Página 4 de 4

Você também pode gostar