Você está na página 1de 9

J os Felipe de Almeida

Universidade Federal Rural da Amaznia


1. Abra o RStudio
2. Faa CTRL + O para mudar o diretrio no qual se encontra os seus dados e deseja salv-los
(Documentos, p. ex.).
3 Tambm, pode optar em mudar a pasta de trabalho atravs do comando:
setwd("C:/Documentos" p. ex.)
4 Para verificar em que pasta se est trabalhando, utilize: getwd()
5 Ao fechar o programa guarde a seo de trabalho, ou mesmo durante sua anlise, com
CTRL + S.
6 N prxima vez que quiser continuar a trabalhar no projeto, basta ir direto ao diretrio e fazer
um duplo clique no arquivo.RData que est gravado no seu Diretrio selecionado.

Introduo a Linguagem R: Tutorial
para Comandos Bsicos

Este tutorial trata de alguns comandos bsicos para programao no Aplicativo
R. Estes comandos permitem a execuo de um algoritmo para muitos
problemas que requerem a soluo de equaes matemticas. De forma
especfica, trata-se dos comandos necessrios para a resoluo de um
problema relacionado com a anlise de dados e sua representao grfica -
embora esta no seja a nica soluo computacional. De uma forma geral,
apresenta-se o passo a passo das linhas de programao de um problema cuja
funo relaciona duas variveis dependentes, como o caso de um evento
espacial no tempo e dependente da variao de condies especficas. Como
exemplo de um destes problemas, destaca-se o crescimento amostras de uma
espcie vegetal, durante certo perodo de tempo, ao serem submetidas a um
potencial eltrico especificado para cada uma destas amostras.
Por outro lado, alguns detalhes deste roteiro, embora apaream nos exemplos,
no esto escritos neste texto e, assim, necessrio observar os passos que
ali aparecem. Uma sugesto repetir os exemplos e ir testando modificaes,
at que se entenda como os resultados so obtidos por linhas de comandos.
Considera-se que a melhor forma de aprender a programar atravs das
dificuldades encontradas e, para isto, existem na Internet a disponibilidade de
diversos artigos, blogs e fruns de discusses sobre a documentao R a
Documentao de um Software o seu manual. De certa maneira, este tutorial
apresenta uma pequena contribuio, mas que pode ser um grande inicio, para
aqueles que procuram ir um pouco mais alm a seus conhecimentos. Portanto,
a primeira providncia instalar o programa R e, juntamente a esta instalao,
instalar o ambiente integrado para o R, chamado Rstudio. Feito isto, Inicie o
RStudio.

1. Declarao de Variveis
Exemplo: Atribuio de valores numricos para objetos
> x <- 6
> x
[1] 6

Nota: o R entende qualquer declarao como objeto.
Observe que <- o formato de declarao x recebe 6. Outra forma de atribuir
o valor 6 a x o usual sinal de igualdade =.
> x = 6
> x
[1] 6

Nota: ao digitar x o programa lista o valor de x. Outra maneira de mostrar o valor de x
digitar o comando print (x).

2. Atribuio Vetorial
A atribuio vetorial em determinados programas faz parte de sua estrutura de
alocao de valores na memria, dentro de uma sequncia organizada. O
nome vetor deve-se a similaridade da definio matemtica da lgebra Vetorial
e que tem relao direta com as linhas de uma Matriz. nesta arquitetura que
se baseia a linguagem R.
Exemplo: Atribuio de valores para um vetor de N-elementos
> x <- 1:5
> x
[1] 1 2 3 4 5

Outra forma equivalente de atribuir valores usar:
> x <- c(1, 2, 3, 4, 5) # outra maneira de atribuir valores para
um vetor.
> print(x)
[1] 1 2 3 4 5

Nota: a declarao do vetor x est seguida de uma linha de comentrio. Isto pode ser
feito em qualquer linha de programao do R com o uso do caractere #.

3. Mutiplicao
Considere-se que se queira multiplicar o valor de x - estabelecido anterior - por
2. Ento,
>x * 2
[1] 2 4 6 8 10
>x
[1] 1 2 3 4 5

4. Operaes Aritmti cas Fundamentai s e Complementares
De uma forma geral, os caracteres usados para a soma, subtrao e diviso
seguem a forma lxica do R: soma <- x +y, sub <- x y, mult <- x *y, div <- x/y
As operaes complementares Raiz Quadrada e Potenciao so escritas
da seguinte maneira, respectivamente:
> x <- c(16, 20.2, 4.4, 15, 10)
> sqrt(x)
[1] 4.000000 4.494441 2.097618 3.872983 3.162278
> x^2
[1] 256.00 408.04 19.36 225.00 100.00

Nota: usa-se ponto para separar casas decimais.

5. Criando uma Matriz
A linguagem R admite alm de vetores a construo de estruturas de dados.
Alguns casos so: arrays, listas e dataframes. Uma Matriz um Array
Bidimensional. O comando matrix() preenche as colunas com os dados
fornecidos (por ex. matrix(1:6,ncol=2)). Da mesma forma, tambm
possvel o preenchimento de linhas (matrix(1:6,nrow=32)).

Exemplo

> x<-matrix(data=NA,nrow=3,ncol=12)
> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA
[,9] [,10] [,11] [,12]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA


O programa l a declarao de uma matriz que se quer escrever, separada em
trs campos. O primeiro campo representa o objeto, ou seja, os valores
atribudos aos ndices da Matrix. Como no incio estes valores ainda no foram
calculados, data=NA indica que os dados (data=) esto ausentes (Not Available
NA). Da mesma forma, necessrio escrever o nmero de linhas (nrow=)
que se deseja para a matriz e que neste caso vale 3. O terceiro campo recebe
o nmero de colunas (ncol=), conforme as linhas do cdigo mostrado.

6. Loop For
Em se tratando de programao, existem algumas ferramentas lgicas que
servem como atalho para a soluo de problemas. Tambm chamados de
instrues de controle (laos ou loops: for, repeat e while) e condicionais (if-
else)), estes atalhos visam aumentar a eficincia de um determinado cdigo
para executar determinada tarefa, ou seja, para que no se perca muito tempo
com detalhes. Portanto, laos so comandos usados sempre que uma ou mais
instrues tiverem de ser repetidas enquanto determinada condio estiver
sendo satisfeita. Uma destas ferramentas a estrutura de repetio lao FOR.
O lao FOR geralmente usado quando queremos repetir algo por um nmero
fixo de vezes. Assim, utilizamos o FOR quando sabemos de antemo o nmero
de vezes a repetir. Ao usar o comando FOR, preciso definir um vetor de
valores, e dizer que a varivel que sofre o FOR est neste vetor. Por exemplo:
> for (i in 1:5){
+ print(I) }

7. Loop FOR dentro de um Loop FOR
Um bom exemplo de uma aplicao de um lao FOR dentro de outro lao FOR
o clculo de uma Matriz. Exemplo:
x<-matrix(data=NA,nrow=3,ncol=12)
> t<-1:3
> f<-1:12
> for (k in t){
+ for (j in f){
+ x[k,j]=k+j
+ }
+ }
> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 2 3 4 5 6 7 8 9 10 11 12 13
[2,] 3 4 5 6 7 8 9 10 11 12 13 14
[3,] 4 5 6 7 8 9 10 11 12 13 14 15

8. Grfi co
O Aplicativo R traz diversas demonstraes, ou demos, de seus recursos
grficos. Ao digitar na lista de comandos, seguido de um ENTER: demo()
Tambm, pode ser colocado entre parnteses o nome da demo escolhida. No
caso, demo de recursos grficos: demo(graphics)
Aps um ENTER, surge na tela a mensagem: demo(graphics)
---- ~~~~~~~~
Type <Return> to start :
Um novo ENTER deve ser teclado. Surge, assim, a visualizao do Grfico da
mesma forma que a mensagem:
Hit <Return>to see next plot:
A cada repetio de ENTER, surgem novos grficos e os comandos utilizados
para gera-los so mostrados na tela do RStudio. Deve-se fazer sempre que
possvel uma boa inspeo nos comandos e verificar os recursos utilizados,
tais como: ttulo, legendas dos eixos, tipos de pontos, cores dos pontos, linhas,
cores de fundo, etc. Pode-se, ainda, utilizar o comando, a seguir, para obter o
cdigo fonte que gerou este grfico e procurar os detalhes que se procuram.
file.show(system.file("demo/graphics.R", package="graphics
Ainda, podem-se utilizar comandos para adicionar ttulo aos eixos, mudar
tamanho da fonte, mudar cor, smbolos, adicionar subttulo, mudar os limites
dos eixos, etc.
main=texto adiciona ttulo ao grfico
xlab ou ylab =texto adiciona ttulo ao eixo x ou y
type ="p" para pontos, "l" para linhas, "b" para pontos e linhas," c" para
linhas descontnuas nos pontos, "o" para pontos sobre as linhas, "n" para
nenhum grfico, apenas a janela.
col =nome ou nmero da cor
pch =nmero (0 a 25)
lwd=nmero (controla a espessura da linha)

Exemplo:
Tome-se como exemplo a matriz da Seo 7 e sua soluo seguida de um
comando Plot.
> x<-matrix(data=NA,nrow=3,ncol=12)
> t<-1:3
> f<-1:12
> for (k in t){
+ for (j in f){
+ x[k,j]=k+j
+ }
+ }
> plot(1:12, x[1,], col="green",main="Titulo",xlab="Eixo-X",ylab="Eixo
-Y",type="l")
> text(4,10,"reta de crescimento") # acrescenta o texto entre aspas na
posio x=4 e y=10.


Pode-se ainda grafar duas ou mais sries no mesmo grfico, usando-se as
linhas de comando e acrescido de legendas:
> lines (1:12, col="red",x[2,])
> lines (1:12, col="blue",x[3,])
> legend(2,12,c("1 Volt","2 Volts","3 Volts"),col =c("green","red","bl
ue"), pch=rep(20,2))


Note-se a funcionalidade dos comandos: text(), lines() e legend().
Homework: Execute o cdigo, abaixo, no RStudio e faa o Grfico
periodo<-1:8
espcie1<-c(59.8,67.2,68.6,61.9,69.4,67.1,73.3,70.0)
espcie2<-c(55.8,61.7,56.9,53.0,61.4,57.8,69.2,56.0)
plot(periodo, espcie1,type="l",main="Taxa de crescimento para valores de tenso
aplicada",xlab="perodo (meses)",ylab="Taxa de crescimento em
%",col="blue",ylim=c(50,100))
lines(periodo, espcie2,col="red")

Mudar o tipo de linha usando o argumento type=:

plot(periodo, espcie1,type="b",main=" Taxa de crescimento para valores de tenso
aplicada ",xlab="perodo (meses)",ylab="Taxa de crescimento em
%",col="blue",ylim=c(50,100))
lines(periodo, espcie2,col="red", type="b")
legend(6,95,c("1 Volt","2 Volts"),col =c("blue", "red"), pch=rep(20,2))

9. Terminando uma session R e sal vando resultados
Ao se terminar uma sesso no RSrudio, alm dos comandos (CTRL+S), pode-
se precisar salvar os Grficos obtidos na execuo de um programa. Embora
este ltimo caso possa ser feito a qualquer momento, sempre que uma imagem
grfica seja gerada e se prefira guardar. A forma imediata usar a opo
Export que aparece no Menu da tela onde o grfico aparece e, ento escolher
a extenso desejada entre os seguintes formatos: PNG, J PEG, TIFF, BMP,
Metafile, SVG ou APS. Por fim, selecionar o Diretrio desejado e pronto.
Porm, caso se queira exportar a Matriz que gerou estes grficos, ento
necessrio que alguns procedimentos. Seja, portanto, que se queira criar um
arquivo em .DAT (muito usado por Softwares relativos ao ORIGIN ou
GNUPLOT). Este procedimento segue nas linhas de comandos do exemplo, a
seguir:
> x<-matrix(data=NA,nrow=3,ncol=12)
> t<-1:3
> f<-1:12
> for (k in t){
+ for (j in f){
+ x[k,j]=k+j
+ }
+ }
> x
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 2 3 4 5 6 7 8 9 10 11 12 13
[2,] 3 4 5 6 7 8 9 10 11 12 13 14
[3,] 4 5 6 7 8 9 10 11 12 13 14 15

Nota: o comando write(x) armazena os valores de x na rea de trabalho, selecionada
anteriormente
Observe-se que a disposio de resultados da Matriz x no corresponde as
linhas e colunas na formatao .DAT. Alm do que, existem termos de
numerao de linhas e colunas que se encontram entre colchetes. Contudo,
observe-se o que acontece ao se usar o comando: data.frame(t(x))
> x<-matrix(data=NA,nrow=3,ncol=12)
> t<-1:3
> f<-1:12
> for (k in t){
+ for (j in f){
+ x[k,j]=k+j
+ }
+ }
> data.frame(t(x))
X1 X2 X3
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
6 7 8 9
7 8 9 10
8 9 10 11
9 10 11 12
10 11 12 13
11 12 13 14
12 13 14 15


Nota: para entender mais sobre o comando data.frame, a sugesto ler a
documentao do R - http://cran.r-project.org/

Faltando somente, eliminar as denominaes X1 X2 X3 das colunas. Ou seja,
fazendo-se:
write.table(data.frame(t(x)),file="arquivo.dat",sep="\t",quote=F
,col.names=F)
Usualmente, para exportar os dados, usa-se a funo write.table() que grava
um arquivo texto e que pode ser lido na maioria dos outros Softwares. De fato,
o primeiro argumento o nome do objeto do R a ser exportado. O comando
file=nome do arquivo onde o dado ser armazenado. O comando sep=tipo de
delimitador a ser usado. O comando row.names=F elimina as numeraes das
linhas desse objeto e col.names=F elimina as possveis numeraes de
colunas. Por default, o R numera na ordem crescente um nmero de registro e
para isto usa o argumento TRUE. O comando quote=FALSE serve para
eliminar as aspas, caso o R crie por default para indicar a denominao, tanto
de linhas quanto de colunas.
Nota: Para exportar os dados diretamente para o Excel necessrio carregar a
biblioteca xlsReadWrite, usando os comandos: library(xlsReadWrite) e
write.xls(dados,file="dados.xls").

Uma das coisas mais importantes que voc pode fazer dedicar um tempo
para aprender uma linguagem de programao de verdade. Aprender a
programar como aprender outro idioma (fica mais fcil aprender outro). Mas,
exige tempo, concentrao, treinamento, dedicao, esforo e determinao,
mesmo que sem resultados imediatos. Mas, se voc supera essa primeira
subida ngreme da curva de aprendizado, os ganhos na vida acadmica e
profissional so enormes e sua recompensa aparecer na medida em que se
avana na direo de um objetivo recompensador.