Matemática Financeira e Informática de Gestão



Baixar 2,63 Mb.
Página31/32
Encontro01.07.2018
Tamanho2,63 Mb.
1   ...   24   25   26   27   28   29   30   31   32

Capítulo 3. Programação – Introdução à linguagem R


Em termos de formação académica, a aprendizagem de uma linguagem de programação justifica-se porque desenvolve a capacidade de raciocínio e análise do aluno e é uma vantagem comparativa na luta pelos empregos melhor remunerados. A opção pelo R deve-se a ser uma linguagem simples mas que, por ter muitas rotinas em livrarias previamente implementadas, permite escrever programas para realizar tarefas computacionalmente complexas. Além disso, é um software de distribuição gratuita (procurar R-project).



Quando iniciamos o software R, aparece-nos o “ambiente de trabalho” que inicialmente refere a versão, as condições de utilização e finaliza com uma linha (a “linha de comando”) que começa com o carácter “>” e o cursor a vermelho (ver Fig. 3.1).

Fig. 3.1. – O ambiente de trabalho do R

Neste ponto programático não se pretende transformar o aluno num programador mas dar apenas a essência do que é o R.

O que escrevermos na linha de comando, depois de fazermos “Enter” (assumiremos a partir de agora, que se faz sempre Enter no fim de escrever os comandos), vai ser processado pelo R. Por exemplo, se escrever (2+7+5)/5, aparece o resultado [1] 2.8. O número [1] não tem, para já, significado.

Se executarmos o comando q(), saímos do R. (faz uma pergunta a que dizemos sim).

Se “andarmos” com as setas para cima e para baixo, percorremos os comandos que escrevemos anteriormente (e que ficaram gravados: é o workspace). Podemos apagar os pbjectos do workspace usando o menu Misc + Remove all objects ou executar o comando rm(list=ls(all=TRUE)).


1. Objectos.

O R é uma linguagem por objectos. Um objecto pode ser uma variável, uma constante, um vector, uma matriz, uma tabela de dados, uma função, um modelo, etc. Cada objecto tem um nome formado por letras (as maiúsculas são diferentes das minúsculas), por números e pelo carácter ponto, “.”, não podendo ter espaços.



Constantes. Eu posso criar a constante X executando X <- 45 (que é diferente do objecto x). Para ver o conteúdo de um objecto, executo o seu nome. Se executar X, aparece [1] 45. Se atribuir outra vez outro valor a X, o valor anterior será destruído e substituído. Também poderia fazer a criação/atribuição executando X = 45.

Expressões. Posso executar “expressões” e ver o resultado ou colocar o resultado numa constante. Nas expressões posso ter números, operadores algébricos (+, –, /, *) e potenciação (^). Posso ainda usar outros objectos e funções.

Se executar i <- ((X*2 + 5^2)^2) / log(1.05) e depois i, aparece [1] 271058.7.


Ex.3.1. Emprestei 1000€ a uma taxa anual de 5%/ano. Quanto dinheiro receberei ao fim de 10 anos (capitalização composta)?

Taxa.de.juro.anual<-0.05

Capital.inicial<-1000

Prazo<-10

Capital.final<-Capital.inicial*(1+Taxa.de.juro.anual)^Prazo

Capital.final

[1] 1628.895

Vectores. Um vector é uma “constante” multidimensional. Para dar a indicação de que vou criar um vector, usa o “comando” c(valor1, valor2). Os vectores têm um “modo” (se são números reais, complexos, valores lógicos, palavras, etc.) onde todas as dimensões do vector têm que ser do mesmo “modo”. Além disso, têm o tamanho que traduz a dimensão do espaço vectorial. Por exemplo, se eu, durante um empréstimo a 3 anos capitalizado, a taxa de juro dos anos fosses 3.7%, 4.1% e 4.9%, poderia guardar essas taxas num vector executando

Juros<-c(0.037,0.041,0.049)

Se quiser saber quantos elementos tem o vector executo length(Juros).


2. Operações com vectores.

Eu posso usar os vectores na expressões algébricas que o R vai calcular a expressão para cada um dos elementos e retorna como resultado outro vector.



Por exemplo, emprestei 5000€, recebo os juros no fim de cada ano e as taxas de juro são as guardadas no vector Juros (já criado). Obtenho os juros recebidos nos 3 anos executando o comando 5000*Juros, de que resulta [1] 185 205 245.

Nota. Uma constante é um vector de dimensão unitária.

Se eu executar operações com dois vectores, as operações vão ser realizada entre os elementos de igual índice. Por exemplo, se eu executar v1 <- c(4, 6, 87), depois v2 <- c(34, 32.4, 12) e finalmente v1 + v2 , resultará [1] 38.0 38.4 99.0.

Se eu aplicar funções a vectores, a função é aplicada a cada elemento do vector. Por exemplo, se eu executar v1^0.5, resultará [1] 2.000000 2.449490 9.327379.
Ex.3.2. Um banco personaliza as taxas de juro dos depósitos dos seus clientes. i) Crie, para 10 clientes, um hipotético vector de taxas de juro, um vector de saldos e calcule os juros a pagar a cada cliente. iii) Capitalize esses saldos com a taxa de juro respectiva a 5 anos.

i) Tx.juros<- c(4.5, 5.1, 4, 3.6, 3, 5, 4.6, 4.8, 3.6, 5)/100

Saldos<- c(10, 150, 45, 20, 100, 75, 15, 67, 9, 2)*1000

Juros <- Saldos*Tx.juros

ii) Capital.final<- Saldos*(c(1,1,1,1,1,1,1,1,1,1) + Tx.juros)^5


Ex.3.3. Quero saber, em função do prazo, qual é o capital final de emprestar 1000€ a uma taxa anual de 4%. Experimente 1, 2, 5 e 10 anos.

R. Vou usar as potencialidades do R relativamente a “operações” com vectores.



Anos <- c(1, 2, 5, 10)

Tx.juro.anual<-0.04

Capital.final <- 1000*(1+Tx.juro.anual)^Anos

Capital.final

[1] 1040.000 1081.600 1216.653 1480.244
Reciclagem. Se realizar operações com dois vectores de tamanhos diferentes, o vector mais pequeno vai ser “reciclado” até ficar com o tamanho do maior. Por exemplo, se executar v3 <- c(1, 2, 3, 4), depois v4 <- c(10, 2) e v3 + v4, resultará [1] 12 4 13 6. É como se o vector v4 fosse (10, 2, 10, 2). Se, numa operação com vectores, usar uma constante, esta vai ser reciclada at+e ficar com o tamanho do vector. No ex.3.2 bastaria executar

Capital.final<- Saldos*(1 + Tx.juros)^5

Nota. Se os tamanhos não forem múltiplos um do outro, o R imprime um aviso.


1   ...   24   25   26   27   28   29   30   31   32


©livred.info 2017
enviar mensagem

    Página principal