Prof. Lorenzo Zanette - l.zanette@ufc.br
Abrir novo script no R Studio (ícone com “+”)
Checar a área de trabalho
Para mandar a linha de comando para o console do R e executá-la teclar: “Ctrl+R” ou “Ctrl+Enter”
ls()## character(0)
Para chamar a ajuda utilizar ?comando ex.
?ls
Se área de trabalho contiver objeto(s) indesajado(s) utlizar a
função “rm”, ex: rm("objeto indesajo") para
removê-lo(s)
obs1<- 22obs1## [1] 22
[1] Indica posição no objeto, neste caso um vetor com apenas uma posição
> amostra<-c(19,20,13,14,23)
> amostra## [1] 19 20 13 14 23
Extra - qual a diferença de utilização entre “[” e “[[”
> data <- data.frame(x = 1:5, y = 6:10)
> data## x y
## 1 1 6
## 2 2 7
## 3 3 8
## 4 4 9
## 5 5 10
> data[2]## y
## 1 6
## 2 7
## 3 8
## 4 9
## 5 10
> data[[2]]## [1] 6 7 8 9 10
Compare com…
lista <- list(a = 1, b = 2, c = 3)
lista[2] ## $b
## [1] 2
lista[[2]]## [1] 2
para alocar valores - independente de sua origem - dentro de um objeto utilizar a “seta” <-
nome_do_vetor <- (“tudo q vc quizer colocar dentro do vetor”)
função(“tudo q vc quiser que a função use”)
nome_do_vetor <- função(“tudo q vc quiser que a função use”)
utilizar ” ” para caracteres não numéricos, ex.
"texto"
não utilizar espaços, ex.
"Dom Pedro", mas sim "Dom_Pedro"
separar decimais com pontos, ex. "1.23", e
não "1,23"
para fazer comentários no script use #
ls()## [1] "amostra" "data" "lista" "obs1"
rm(amostra,obs)## Warning in rm(amostra, obs): object 'obs' not found
Variável:Medida para cada observação individual
- Quantitativas
ovos## [1] 5 3 4 7 6 5 4 8 6 3
pesogalin## [1] 3.0 2.8 3.2 3.9 3.5 3.6 3.7 3.3 2.9 2.6
- Qualitativas
b.1.Ordenadas
b.1.a.”Informativas”
tamanho## [1] "grande" "media" "pequena"
grandeza## [1] 3 2 1
desgaste_penas## [1] 5 4 3 2 1
granja<-cbind(ovos,pesogalin)
granja## ovos pesogalin
## [1,] 5 3.0
## [2,] 3 2.8
## [3,] 4 3.2
## [4,] 7 3.9
## [5,] 6 3.5
## [6,] 5 3.6
## [7,] 4 3.7
## [8,] 8 3.3
## [9,] 6 2.9
## [10,] 3 2.6
b.1.b “Não tão informativas”
sitio## [1] "Do_Caja" "Do_Pedro" "Do_PPAmarelo"
cores## [1] "amarela" "branca" "preta"
colores## [1] "cor1" "cor2" "cor3"
ls()## [1] "colores" "cores" "data" "desgaste_penas"
## [5] "grandeza" "granja" "lista" "obs1"
## [9] "ovos" "pesogalin" "sitio" "tamanho"
pesogalin## [1] 3.0 2.8 3.2 3.9 3.5 3.6 3.7 3.3 2.9 2.6
ovos## [1] 5 3 4 7 6 5 4 8 6 3
barplot(pesogalin,names.arg=c(1:10),las=1)hist(pesogalin,las=1)plot(pesogalin,las=1,col="blue",pch=21)#Usamos *par* para dividir a área de gráficos, neste caso em 1 linha e 3 colunas
par(mfrow=c(1,3))
barplot(ovos,names.arg=c(1:10),las=1)
hist(ovos,las=1)
plot(ovos,las=1,col="blue",pch=21)Atentem para o histograma com variável discreta - comparem com o hist. da var. contínua
barplot e
hist ?R:Vejamos empíricamente
#dividimos área gráfica em 2 linhas e 1 coluna
par(mfrow=c(2,1))
barplot(pesogalin)
# removemos título do gráfico com: **main=""** e alteramos eixo y com **las=1**
hist(pesogalin,main="",las=1)Valor real ~ Valor medido
Qual amostra é mais precisa? Por quê?
pesogalin_p1## [1] 3.0 2.8 3.2 3.9 3.5 3.6 3.7 3.3 2.9 2.6
pesogalin_p2## [1] 2.77 2.75 2.66 3.54 3.50 3.10 3.80 3.37 2.70 3.85
max_pg1<-c(3.05,2.85,3.25,3.95,3.55,3.65,3.75,3.35,2.95,2.65)
min_pg1<-c(2.95,2.75,3.15,3.85,3.45,3.55,3.65,3.25,2.85,2.55)
intervalo<-max_pg1-min_pg1
tabela_p1<-data.frame(pesogalin_p1,max_pg1,min_pg1,intervalo)
tabela_p1## pesogalin_p1 max_pg1 min_pg1 intervalo
## 1 3.0 3.05 2.95 0.1
## 2 2.8 2.85 2.75 0.1
## 3 3.2 3.25 3.15 0.1
## 4 3.9 3.95 3.85 0.1
## 5 3.5 3.55 3.45 0.1
## 6 3.6 3.65 3.55 0.1
## 7 3.7 3.75 3.65 0.1
## 8 3.3 3.35 3.25 0.1
## 9 2.9 2.95 2.85 0.1
## 10 2.6 2.65 2.55 0.1
ls()## [1] "colores" "cores" "data" "desgaste_penas"
## [5] "grandeza" "granja" "intervalo" "lista"
## [9] "max_pg1" "min_pg1" "obs1" "ovos"
## [13] "pesogalin" "pesogalin_p1" "pesogalin_p2" "sitio"
## [17] "tabela_p1" "tamanho"
rm(list=ls(all=TRUE))
ls()## character(0)
inseticida<-InsectSprays[1:12,1:2]inseticida## count spray
## 1 10 A
## 2 7 A
## 3 20 A
## 4 14 A
## 5 14 A
## 6 12 A
## 7 10 A
## 8 23 A
## 9 17 A
## 10 20 A
## 11 14 A
## 12 13 A
names(inseticida)<-c("mortes","marcas")
inseticida## mortes marcas
## 1 10 A
## 2 7 A
## 3 20 A
## 4 14 A
## 5 14 A
## 6 12 A
## 7 10 A
## 8 23 A
## 9 17 A
## 10 20 A
## 11 14 A
## 12 13 A
attach(inseticida)
names(inseticida)## [1] "mortes" "marcas"
O comando
attachpermite utilizar o nome das váriaveis diretamente, mas pode gerar confusão caso variáveis tenham nomes iguais em objetos diferentes que também estão na área de funções. Para verificar quem está lá utilizarsearch()
Como ordenar os dados?
rank(mortes)->ranque
sort(mortes)->ordenado
order(mortes)->ordem
ver<-data.frame(mortes,ranque,ordenado,ordem)
ver## mortes ranque ordenado ordem
## 1 10 2.5 7 2
## 2 7 1.0 10 1
## 3 20 10.5 10 7
## 4 14 7.0 12 6
## 5 14 7.0 13 12
## 6 12 4.0 14 4
## 7 10 2.5 14 5
## 8 23 12.0 14 11
## 9 17 9.0 17 9
## 10 20 10.5 20 3
## 11 14 7.0 20 10
## 12 13 5.0 23 8
detach(inseticida)inseticida2<-InsectSprays[13:24,1:2]
inseticida3<-InsectSprays[25:36,1:2]inseticida2## count spray
## 13 11 B
## 14 17 B
## 15 21 B
## 16 11 B
## 17 16 B
## 18 14 B
## 19 17 B
## 20 17 B
## 21 19 B
## 22 21 B
## 23 7 B
## 24 13 B
inseticida3## count spray
## 25 0 C
## 26 1 C
## 27 7 C
## 28 2 C
## 29 3 C
## 30 1 C
## 31 2 C
## 32 1 C
## 33 3 C
## 34 0 C
## 35 1 C
## 36 4 C
inseticida4<-InsectSprays[49:72,1:2]
inseticida4## count spray
## 49 3 E
## 50 5 E
## 51 3 E
## 52 5 E
## 53 3 E
## 54 6 E
## 55 1 E
## 56 1 E
## 57 3 E
## 58 2 E
## 59 6 E
## 60 4 E
## 61 11 F
## 62 9 F
## 63 15 F
## 64 22 F
## 65 15 F
## 66 16 F
## 67 13 F
## 68 10 F
## 69 26 F
## 70 26 F
## 71 24 F
## 72 13 F
inseticida5<-rbind(inseticida2,inseticida4)
attach(inseticida5)
names(inseticida5)## [1] "count" "spray"
spray[order(count)]## [1] E E E E E E E E E E E E B F F B B F B F F B F F B F B B B B B B F F F F
## Levels: A B C D E F
spray[order(count)]?