R - Introdução à Programação

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Utilizando o R. Técnicas para Predição de Dados 2 17/8/2008 Introdução ao R R é um linguagem (ambiente) de programação para computação estatística e gráfica.
Programação de Computadores
Programação de Computadores
O Maple na Aula de Matemática
MATLAB Comandos Básicos.
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
1 Introdução à Programação Linguagem R. 2 Introdução A aprendizagem de uma linguagem de programação desenvolve a capacidade de raciocínio e análise do.
Introdução à Programação Linguagem R
Departamento de Informática
Octave Introdução, Variáveis e Matrizes
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Introdução 1.1 Octave Introdução.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Introdução.
Expressões Lógicas e Comandos de Decisão
Software Básico Silvio Fernandes
Excel Profa. Cristina M. Nunes.
Introdução a Programação Renata Freire
15 Introdução à Manipulação de Planilhas Eletrônicas Planilhas Eletrônicas são tabelas usadas para comunicar informações de forma clara, precisa e sucinta.
Construção de Algoritmos 1
Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues
R Profa. Suzi
Programação para Engenharia I
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
4. Operadores e Aritmética. Introdução à Programação Prolog2 Operadores Na matemática costuma-se escrever expressões como 2*a + b*c onde + e * são operadores.
Curso de Programação em C++
Laboratório de Programação de Computadores I
1 4.6 – Variáveis - introdução Nesta altura (ao nível da programação) interessa saber que um computador tem: Nesta altura (ao nível da programação) interessa.
Revisão do conceito de matrizes
MATEMÁTICA UNIDADE 2 Conteúdo: Matrizes Duração: 10 40’ 04/04/13
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Estrutura de um Programa:
Algoritmos Computacionais ( Programas )
Mestrado Profissional em Gestão Ambiental
Linguagens imperativas: Aula prática
Aula 02 Variáveis, Matrizes, Gráficos
Estrutura de dados, pseudocódigo
Programação Funcional
Interpretador Python.
Seminário 1: Revisão de C
Fábio de Oliveira Borges
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Matlab Mini Curso PET 2012.
Monitoria de Sistemas Inteligentes
Data Frames (tabelas) e Matrizes
Programação em C++ Compiladores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Funções Matemáticas ABS(valor): valor absoluto INT(valor): arredonda para baixo ROUND(valor;casas_decimais): arredonda Usar ROUND ou o comando de formatação.
O que é uma folha de cálculo?
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Baseado no material do Professor Raul Paradeda
Organização e Arquitetura de Computadores
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Introdução à Linguagem JavaScript
Monitoria de Sistemas Inteligentes IF684
MatLab (Matrix Laboratory)
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
MATLAB - Matrix Laboratory Adaptado de Profa
Haskell Programação Funcional Diego Lima Rubem Moreira.
Computação Eletrônica Variáveis Reais e Booleanas.
Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
MatLab (Matrix Laboratory)
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO FOLHA DE CÁLCULO FÓRMULAS, REFERÊNCIAS E FUNÇÕES.
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Como Usar a Linguagem de Programação R. I. Introdução J M Fernandes.
Transcrição da apresentação:

R - Introdução à Programação Suzi Camey Departamento Estatística - UFRGS

Agradecimento Prof. Joaquim Pereira Neto UNEB - Universidade do Estado da Bahia Departamento de Tecnologia e Ciências Sociais R_STAT -> Arquivos

Introdução ao R Universidade de Auckland, 1995 Robert Gentleman, Ross Ihaka http://www.r-project.org

Instalando o R para Windows Dowload: http://www.r-project.org Pode ser instalado e executado em CD ou pen drive. Acesso a Internet: facilita, mas não é fundamental.

Tinn-R Editor de código do R Download: http://sourceforge.net/projects/tinn-r/ Dicas de uso: Help>This version>Portuguese>leiame.html

Operações com o R > 2 + 3*4 # prioridade da operação multiplicação [1] 14 > 3/2+1 # prioridade da operação divisão [1] 2.5 > 2 * 3 ^ 2 # potências são indicadas por ^ ou ** [1] 18 Tudo que está depois do símbolo #, define um comentário e é ignorada pelo R

Operações com o R No R todas as funções têm a forma: >função(argumento obrigatório,argumento opcional) > sqrt(2) # Encontra a raiz quadrada de 2 [1] 1.414214 > sin(pi/6) # Encontra o seno de 30º [1] 0.5 > log( ,3) #ver tips Tinn-R > ?log ou > help(log) ou > help.search(log)

Operações com o R Função Descrição Operadores sqrt( ) raiz quadrada + adição abs( ) valor absoluto - subtração exp( ) exponencial de base “e” * multiplicação log10( ) logaritmo na base 10 / divisão log( ) logaritmo na base “e” ** ou ^ potência sin( ) cos( ) tan( ) funções trigonométricas asin( ) acos( ) atan( ) funções trigonométricas inversas

Como o R armazena objetos O R é uma linguagem orientada a objetos. Objetos para o R: banco de dados, como uma tabela, variáveis, vetores, matrizes, funções, etc. Objetos são armazenados na memória ativa do computador.

Como o R armazena objetos Criar um objeto qualquer no R: usar o operador de atribuição “<-“ > x<-sqrt(9) > x > sqrt(9)->x > y=log10(100) > x+y

Como o R armazena objetos Nomes de objetos (tabelas, variáveis, etc.) devem começar sempre com uma letra. Maiúsculas e minúsculas são consideradas diferentes. Exs.: > x1 <-10 > x.1 <-10 > x_1 <-10 > 1x <-10

Workspace Cada vez que o R é aberto inicia-se uma nova sessão. A coleção de objetos criados durante uma sessão R é denominada de workspace. Todos os objetos criados podem ser salvos em um arquivo denominado .Rdata. No final de cada sessão o R sempre pergunta: "Save workspace image?" .

Workspace Mudando o diretório de trabalho: Via Menu: Arquivo>Mudar dir... setwd('C:/User/Prof114/')

Workspace O R armazena um histórico de comandos usados na sessão em um arquivo com extensão “.Rhistory”. Como os comandos ficam acumulados, para você recuperar comandos, basta usar as teclas de setas de deslocamento vertical, para recuperá-los.

Listar e eliminar objetos > objects() > ls() Eliminar todos os objetos: > rm() Eliminar os objetos x e y: > rm(x,y)

Tipos de objetos Sete tipos básicos de objetos, classificados em duas categorias: Objetos atômicos – contém apenas dados de um único tipo: vector, matrix, array, factor, ts. Objetos não atômicos – contém valores de todos os tipos: data.frame, list.

Tipos de objetos Os objetos podem ainda ser classificados de acordo: mode: refere-se à natureza dos seus elementos: logical, numeric, complex e character. attributes: informa sobre a estrutura e conteúdo do objeto. class: informa o tipo de objeto: vector, matrix, array, factor, ts, data.frame, list. mode(x), attributes(x), class(x)

Tipos de objetos Os elementos de um objeto pode ser: logical : Modo binário, com valores T ou F (True ou False) numeric : Números reais complex : Números complexos, a + bi character : Caracteres, "Maria“

Tipos de objetos: Vetores Forma mais simples de armazenamento de dados. Conjunto de elementos de um mesmo tipo: números , caracteres ou valores lógicos. Os vetores apresentam dois atributos: length e mode.

Tipos de objetos: Vetores > numero<-3 > numero [1] 3 > mode(numero) [1] “numeric” > fruta<-"banana” > fruta [1] "banana“ > mode(fruta) [1] "character”

Tipos de objetos: Vetores > x<-c(10.4, 5.6, 3.1, 6.4, 21.7) > x [1] 10.4 5.6 3.1 6.4 21.7 > length(x) [1] 5 > mode(x) [1] "numeric"

Tipos de objetos: Vetores Função Descrição Examplos scan lê valores (qualquer tipo) scan() scan("meuarq") c combina valores c(1,3,2,6) c("sim", “não") rep repete valores rep(c(1,2), 3) : seqüencias numéricas 1:5 1:-1 seq seq(-pi, pi, .5)

Tipos de objetos: Vetores Função scan() > x<-scan() 1: 10.4 5.6 3.1 6.4 21.7 6: Read 5 items > x [1] 10.4 5.6 3.1 6.4 21.7 

Tipos de objetos: Vetores > frutas<-scan(what=" ", sep=",") 1: banana,uva,manga 4: Read 3 items > frutas [1] "banana" "uva" "manga"

Tipos de objetos: Vetores Função rep() > x<-rep('a',5) > x [1] "a" "a" "a" "a" "a"   > x<-rep(2,6) [1] 2 2 2 2 2 2 > x<-rep(c('s','n'), c(2,4)) > x [1] "s" "s" "n" "n" "n" "n"   > x<-rep(c(4, 5, 6), 2) [1] 4 5 6 4 5 6

Tipos de objetos: Vetores Função seq() > x<-seq(-1,1,0.4) > x [1] -1.0 -0.6 -0.2 0.2 0.6 1.0   > x<-seq(-1,1,length=6) > x<-seq(-1, by=0.4, length=6)

Tipos de objetos: Vetores Geração de seqüências numéricas. > 1:10 [1] 1 2 3 4 5 6 7 8 9 10 O operador “:” (dois pontos) tem prioridade máxima numa expressão onde seja usado: > 2*1:10 [1] 2 4 6 8 10 12 14 16 18 20

Tipos de objetos: Vetores Concatenação de vetores > x <- c(2, 3, 5, 2, 7, 1) > y <- c(10, 15, 12) > z <- c(x,y) > z [1] 2 3 5 2 7 1 10 15 12

Tipos de objetos: Vetores Operações aritméticas vetores num éricos e lógicos operações elemento a elemento, caso tenham a mesma dimensão. > peso<-c(62, 70, 52, 98, 90, 70) > altura<-c(1.70, 1.82, 1.75, 1.94, 1.84, 1.61) Calcular IMC para essas pessoas. > i.m.c<-peso/altura^2 > i.m.c [1] 21.45329 21.13271 16.97959 26.03890 26.58318 27.00513

Tipos de objetos: Vetores Outras funções: > max(peso) [1] 98 > min(peso) [1] 52 > range(peso) [1] 52 98

Tipos de objetos: Vetores Outras funções: > mean(peso) [1] 73.66667 > var(peso) [1] 298.2667 De outra forma: > sum(x)/length(x) [1] 73.66667 > sum((x-mean(x))^2)/(length(x)-1) [1] 298.2667

Tipos de objetos: Vetores Operador comparativo Descrição Operador lógico < menor que & (vetor) e x&y > maior que && (para avaliar condições) e x&&y <= menor ou igual | (vetor) ou x|y >= maior ou igual || ou x&&y == igual xor (exclusivo) ou xor(x , y) != diferente

Tipos de objetos: Vetores > x<-seq(-2, 2, by=0.5) > x [1] -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 > x>=-1 [1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > x>=-1 & x<=1 [1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE > x<=-1 | x>=1 [1] TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE

Tipos de objetos: Vetores Vetores alfanuméricos > x<-paste(c("X"), 1:10, sep="-") > x [1] "X-1" "X-2" "X-3" "X-4" "X-5" "X-6" "X-7" [8] "X-8" "X-9" "X-10" > xy<-paste(c("X","Y"), 1:10, sep="-") > xy [1] "X-1" "Y-2" "X-3" "Y-4" "X-5" "Y-6" "X-7" [8] "Y-8" "X-9" "Y-10”

Tipos de objetos: Vetores Subconjunto de vetores > x<-c(0, 8, 9, 7, 4, 2, 10, 0, 2, 1) > x1<-x[6] > x1 [1] 2 > x2<-x[2:6] > x2 [1] 8 9 7 4 2 > x3<-x[c(2, 4, 8)] > x3 [1] 8 7 0

Tipos de objetos: Vetores Subconjunto de vetores > x6<-x[c(-1, -2, -10)] > x6 [1] 9 7 4 2 10 0 2 > frutas<-c(5, 10, 1, 20) > frutas [1] 5 10 1 20 > names(frutas)<-c("laranja", "banana", "maçã", "pera") > jantar<-frutas[c("maçã", "laranja")] > jantar maçã laranja

Tipos de objetos: Vetores Subconjunto de vetores > x<-c(0, 8, 9, 7, 4, 2, 10, 0, 2, 1) > xa<-x[x > 4] > xa [1] 8 9 7 10 > xb<-x[x > 2 & x <= 8] > xb [1] 8 7 4

Tipos de objetos: Matrizes Disposição bidimensional dos dados em linhas e colunas. Conjunto de elementos de um mesmo tipo: números , caracteres ou valores lógicos. Matrizes apresentam quatro atributos: length – dá o número de elementos da matriz mode – dá o tipo de valores dim – dá o número de linhas e colunas dimnames – dá os nomes das linhas e colunas

Tipos de objetos: Matrizes matrix(data, nrow=m, ncol=n, byrow=T ou F) notas.matrix<-matrix(scan(), ncol=3, byrow=T) 1: 7.5 6.9 8.2 8.2 7.3 6.7 5.9 6.8 9.0 7.8 7.0 7.5 8.8 7.9 6.4 16: > notas.matrix [,1] [,2] [,3] [1,] 7.5 6.9 8.2 [2,] 8.1 7.3 6.7 [3,] 5.9 6.8 9.0 [4,] 7.8 7.0 7.5 [5,] 8.8 7.9 6.4

Tipos de objetos: Matrizes Função “cbind” > notas.p1<-c(7.5, 8.1, 5.9, 7.8, 8.8) > notas.p2<-c(6.9, 7.3, 6.8, 7.0, 7.9) > notas.p3<-c(8.2, 6.7, 9.0, 7.5, 6.4) > notas.matrix<-cbind(notas.p1, notas.p2, notas.p3) > notas.matrix notas.p1 notas.p2 notas.p3 [1,] 7.5 6.9 8.2 [2,] 8.1 7.3 6.7 [3,] 5.9 6.8 9.0 [4,] 7.8 7.0 7.5 [5,] 8.8 7.9 6.4

Tipos de objetos: Matrizes Função “rbind” > aluno1<-c(7.5, 6.9, 8.2) > aluno2<-c(8.1, 7.3, 6.7) > aluno3<-c(5.9, 6.8, 9.0) > aluno4<-c(7.8, 7.0, 7.5) > aluno5<-c(8.8, 7.9, 6.4) > notas.matrix<-rbind(aluno1,aluno2,aluno3,aluno4,aluno5) > notas.matrix [,1] [,2] [,3] aluno1 7.5 6.9 8.2 aluno2 8.1 7.3 6.7 aluno3 5.9 6.8 9.0 aluno4 7.8 7.0 7.5 aluno5 8.8 7.9 6.4

Tipos de objetos: Matrizes Outras maneiras: > notas.matrix<-matrix(c(7.5,6.9,8.2,8.1,7.3,6.7,5.9,6.8, 9.0,7.8,7.0,7.5,8.8,7.9,6.4), ncol=3, byrow=T) > notas.matrix<-c(7.5,6.9,8.2,8.1,7.3,6.7,5.9,6.8, 9.0,7.8,7.0,7.5,8.8,7.9,6.4) > dim(notas.matrix) <-dim(5,3) > notas.matrix<-matrix(notas.matrix, ncol=3) > notas.matrix<-matrix(notas.matrix, nrow=5)

Tipos de objetos: Listas Lista é um objeto constituído por uma coleção ordenada de objetos. É o tipo de objeto mais flexível do R. É a mais freqüente escolha para retornar valores de uma análise do R. >dados<-list(pai="Jose", esposa="Maria", n.filhos=3, idade.filhos=c(4, 7, 9)) >dados >dados$pai >dados$pai<-”José” >dados[1] >dados[[1]] >dados[[4]][2]