Sie sind auf Seite 1von 21

Mtodos Quantitativos Aplicados a Finanas

Aula 2 - Introduo ao R, parte 1

Marcelo S. Perlin 1

1
Escola de Administrao
Universidade Federal do Rio Grande do Sul
marcelo.perlin@ufrgs.br
https://sites.google.com/site/marceloperlin/

01 / 2016

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 1 / 21
Formato do workshop
A cola estimulada!

Exerccios em aula
Cdigo encapsulado (igual ao editor do RStudio)
1 # Exemplo de cdigo ( comentrio )
2 l i b r a r y ( ' RSQLite ' )
3 library ( ' xlsx ')
4

5 rm ( l i s t = l s ( ) )

7 my . x < 10+2
8 my . s t r < p a s t e 0 ( ' Meu X igual a ' , my . x )
9 p r i n t ( my . s t r )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 2 / 21
Como o R funciona?

1 Editor de scripts
2 Workspace mostrando as variveis criadas (dados disponveis para
trabalhar), histrico de comandos
3 Help, guras, pacotes e arquivos do disco rgido
4 Console do R
Marcelo S. Perlin (Universidade Federal Mtodos
do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 3 / 21
Antes de comear (1)

O Excel deixou todos ns desacostumados!


I Esqueam point & click, permitam-se desenvolver clculos sem
necessariamente observar os resultados

Esqueam caracteres latinos em toda a nomeao de variveis no R


1 m i n h a v a r i v e l < 1 2 # ERRADO !

No utilizem espao para denio de nome de arquivo (.R) ou


denio de variveis
1 minha variavel < 1 2 # ERRADO !
2 minha . v a r i a v e l < 1 2 # CORRETO !

O uso do TAB (autocomplete) um ESSENCIAL para facilitar a


desenvolvimento dos scripts!

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 4 / 21
Antes de comear (2)
Utilizem <- ("assign") para denir o valor de alguma coisa
1 x < 2

Utilizem o simbolo = apenas para denir o valor de alguma coisa


dentro da chamada de uma funo
1 m e d i a < mean ( x = c ( 2 , 3 , 4 ) )

O parentesis utilizado para chamar funes, apenas (veja exemplo


anterior)
o conchetes [] utilizado para acessar algum pedao de uma varivel
(subset).
I Para listas, utilize [[]]

1 my . l i s t < l i s t ( a =2 , b =2)
2 my . l i s t [ [ 2 ] ]

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 5 / 21
Antes de comear (3)

Alguns comandos importantes:


I Control + Shift + S: Roda o script inteiro
I Control + Alt + B: Roda o script at o cursor
I Control + Enter: Roda a linha do cursor ou seleo do mouse
I Control + Shift + Enter: Roda o script inteiro com ECHO (mostrando
comandos no prompt)

Exemplo: Crie um novo script chamado MeuPrimeiroScriptNoR.R com os


seguintes comandos:
1 N=100

2 x < r u n i f (N)
3

4 print (x)

E experimente rodar o script com cada um dos comandos destacados


anteriormente

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 6 / 21
Antes de comear (4)
O primeiro passo em todos script no R :
1 Limpar a memria

1 rm ( l i s t = l s ( ) )

2 Mudar o diretrio de trabalho (OBSERVEM QUE AS BARRAS


DEVEM SER DUPLICADAS OU INVERTIDAS!)

1 my . d < ' C : \ \ C u r s o A p i m e c_R\ \ S c r i p t s Aula 1\\ ' #


Funciona no windows apenas
2 my . d < ' C : / C u r s o A p i m e c_R/ S c r i p t s Aula 1/ ' #
Funciona no windows , linux
3 s e t w d ( my . d )

O comando c() para combinar coisas que so da mesma classe,


criando os chamados vetores atmicos:
1 my . v e c 1 < c ( 1 , 3 , 4 )
2 my . v e c 2 < c ( 4 , 2 , 4 , m y v e c 1 )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 7 / 21
Antes de comear (5)

No R importante mostrar os resultados na tela (prompt) do RStudio.


Podes fazer isto de duas maneiras, utilizando a funo print() ou cat()
1 my . v e c < r u n i f (1)
2 c a t ( ' \nO valor de my . v e c ' , my . v e c ) # \ n para quebrar a
linha
3

4 p r i n t ( p a s t e ( 'O valor de my . v e c ' , my . v e c ) )

1 my . v e c < r u n i f (10)
2 c a t ( p a s t e ( ' \nO valor de my . v e c ' , my . v e c ) ) # \ n para
quebrar a linha

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 8 / 21
Tipos de dados (1)
Nmeros (numeric):
1 # Digitem e verifiquem o resultado no workspace
2 x < 1
3 y 1 < c ( 1 , 2 , 3 , 4 , 5 )
4 y 2 < seq (1 ,5)
5

6 y 2 . 4 < y 2 [ 4 ]
7 p r i n t ( y2 . 4 )
8

9 c l a s s ( y2 )

Texto (character) denidos pelo uso de aspas ('texto') ou "texto"


1 meu . t e x t o < ' Eu sou um texto ! '
2 meu . t e x t o < p a s t e ( ' Eu sou ' , ' o u t r o ' , ' t e x t o ! ' )
3

4 c l a s s ( meu . t e x t o )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 9 / 21
Tipos de dados bsicos (2)
Varivel Lgica (Verdade ou mentira)
1 x . v e r d a d e < TRUE # ou T
2 x . m e n t i r a < FALSE # ou F
3 c l a s s ( x . verdade )

Varivel de fator (dene grupos)


1 x . g e n d e r < factor ( c ( ' homem ' , ' mulher ' , ' mulher ' , ' homem
') )
2 x . nome < c ( ' m a r c e l o ' , ' a n a ' , ' g e r t r u d e s ' , ' danilo ' )
3

4 c a t ( p a s t e ( ' \nMeu nome ' , x . nome , 'e sou ' , x . gender ) )


5 c l a s s ( x . gender )

Listas: Objeto com vrias variveis no seu interior


1 # Listas a insero de variveis diferentes
2 minha . l i s t a 1 < l i s t ( v a l o r 1 =1 , v a l o r 2 =c ( 1 , 1 , 2 ) )
3 minha . l i s t a 2 < l i s t ( v a l o r 1 =30 , t e x t o 1= ' meu texto ' )
4 # o acesso as listas pode ser feito via $
5 minha . l i s t a 2 $ v a l o r 1

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 10 / 21
Tipos de dados bsicos (3)

Dataframes: Tabelas que comportam vrios tipos de dados onde cada


coluna um dado diferente (as variveis devem sempre ter o mesmo
nmero de elementos).
O Dataframe o tipo de dado mais utilizado no R!
1 d f < d a t a . f r a m e ( x=c ( 0 , 1 , 2 , 4 , 5 ) , y=c ( ' a ' , ' b ' , ' c ' , ' d ' , ' e ' )
, z=r e p ( TRUE , 5 ) )
2

3 c l a s s ( df )
4

5 df $x
6

7 df $z [ 2 ]
8

9 df [ [ 2 ] ] [ 1 ]

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 11 / 21
Denindo os nomes dentro de dataframe e listas
O R tem uma linguagem voltada ao uso de nomes em todas as variveis

Para uma lista, pode-se modicar os nomes dos elements utilizando


names():
1 my . l < l i s t ( a =1 , b =2 , z= ' s t r ' )
2

3 nam es ( my . l ) < c ( ' d ' , 'e ' , ' f ')

Para um dataframe, pode-se modicar o nome das linhas e colunas


utilizando colnames() e rownames():
1 my . d f < d a t a . f r a m e ( name1=s e q ( 0 , 1 0 ) , name2 = s e q ( 1 0 , 2 0 ) )
2

3 r o w n a m e s ( my . d f ) < paste ( ' linha ' , seq (0 ,10) )


4

5 c o l n a m e s ( my . d f ) < paste ( ' coluna ' , seq (1 ,2) )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 12 / 21
Descobrindo o tamanho das variveis
Muitas vezes ser necessrio saber quantos elementos tem em um vetor
atomico criado com o comando c() e tambm o nmero de colunas e linhas
em um dataframe.

As informaes podem ser calculadas com as funes length(), nrow() e


ncol():
1 x < c ( 1 , 2 , 4 )
2

3 n < length (x) # O lenght mais utilizado para vetores


atomicos criados por c ()
4

5 d f < d a t a . f r a m e ( x=c ( 0 , 1 , 2 , 4 , 5 ) ) # Para dataframes , o


correto nrow ( ) e ncol ()
6

7 x n r o w < n r o w ( d f )
8 x n c o l < ncol ( df )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 13 / 21
Exerccio 1

1 Criem um script com nome Exerc_Aula_1_1.R


2 Insira os comandos para limpar a memria e mudar de diretrio
3 Crie uma varivel x com os valores 10,11,12,13,14,15
4 Crie uma varivel y com os valores 20,22,24,26,28,30
5 Crie uma varivel z com os valores 'a','b','c','d','e','f'
6 Crie uma varivel f como x + y
7 Crie um dataframe chamado df com as variveis x, y, z e f

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 14 / 21
Exerccio 2

1 Criem um script com nome Exerc_Aula_1_2.R


2 Insira os comandos para limpar a memria e mudar de diretrio
3 Crie uma varivel x com 1000 valores aleatrios entre 0 e 1 (dica: use
a funo runif())
4 Mostre na tela do prompt os 10 menores valores da varivel x (dica:
utilize a funo sort())
5 Mostre na tela do prompt os 10 maiores valores da varivel x (dica:
utilize a funo sort())

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 15 / 21
Baixando e utilizando pacotes do CRAN
O CRAN uma rede de ftp e servidores ao redor do mundo, incluindo o
Brasil, que mantm os pacotes de R e as suas documentaes atualizadas

Para visualizar todos os pacotes disponveis para download, utilize o


comando abaixo:
1 # verifique o dataframe no worskapce ( basta clicar na
varivel )
2 d f . p a c k a g e s < data . frame ( a v a i l a b l e . packages ( ) )

Para baixar um pacote, utilize o comando abaixo


1 i n s t a l l . packages ( ' ggplot2 ' )
2

3 i n s t a l l . packages ( c ( ' ggplot2 ' , ' x l s x ' ) )

Para utilizar um pacote, utilize o comando abaixo dentro do script ou


funo
1 l i b r a r y ( ' ggplot2 ' ) # para scripts
2 r e q u i r e ( ' ggplot2 ' ) # para funo

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 16 / 21
Exerccio 3

1 Abram o script S_InstallPackages.R no RStudio


2 Rodem o script para que os pacotes utilizados em aula sejam
instalados

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 17 / 21
Criando funes no R

A criao de funes no R fcil. Considere a estrutura a seguir:

1 m y f c t < function (x){


2

3 p r i n t ( p a s t e ( 'O valor do input ' ,x))


4

5 y= x+4
6

7 p r i n t ( p a s t e ( 'O valor do output ' ,y))


8

9 return (y)
10

11 }

12

13 o u t p u t < myfct (10)

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 18 / 21
Exerccio 4

1 Cria uma funo chamada meuCalculo, com 2 outputs e 3 inputs


(numero1,numero2,numero3)
2 Desenvolva a funo de modo que output1 seja a soma dos 3 inputs e
o output2 seja a multiplicao de todos os inputs
3 Aperfeioe a funo adicionando o texto a ser mostrado na tela:
"A soma dos numeros : (output1)"
"A multiplicao dos numeros : (output1)"
4 Construa o output como uma lista:
1 ...
2 o u t p u t < l i s t ( o u t p u t 1= o u t p u t 1 , o u t p u t 2=o u t p u t 2 )
3 r e t u r n ( output )

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 19 / 21
Para ler em casa

Guidelines do Google na criao de cdigo no R:

https://google.github.io/styleguide/Rguide.xml

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 20 / 21
Exerccio Final

Exerccio_Final_Aula_2.pdf

Marcelo S. Perlin (Universidade Federal Mtodos


do Rio Grande
Quantitativos
do Sul) Aplicados a Finanas 2016 21 / 21

Das könnte Ihnen auch gefallen