CURSO INTRODUÇÃO AO R

Documentos relacionados
Introdução ao R. Gualberto Agámez Montalvo. 16 de Março de Análise de Dados e Simulação Departamento de Estatística Universidade de São Paulo.

INTRODUÇÃO AO R. PopEA - População, Espaço e Ambiente: CST e SER ano 2018 Dra. Silvana Amaral e Antônio Miguel Vieira Monteiro

Murilo F. Tomé ICMC-USP

Aplicações Computacionais em Exploração e Análise de Dados. Primeiro Passo. Introdução 14/08/2013. Introdução ao R

Programação de Computadores:

Programação de Computadores III

Programação de Computadores III

UTILIZAÇÃO DO R NO ENSINO DA ESTATÍSTICA BÁSICA I. Autores: Carolina Valani Cavalcante * Luciane Ferreira Alcoforado **

Pode-se designar nomes a objetos R usando a combinação A <- b(a recebe b), b -> A (b vai em A) ou A = b (A recebe b)

Funções. Introdução à Análise Estatística com. Algumas funções úteis. Algumas funções estatísticas. Curso

Introdução ao R. Anderson Castro Soares de Oliveira

INFORMÁTICA PARA ENGENHARIA

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

Foi criado em 1990 por pesquisadores do INRIA e da ècole Nationale des Ponts et Chaussées (França), sendo gratuito e similar ao Matlab.

Introdução ao MATLAB. Afonso Paiva ICMC-USP

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

MATLAB EM VIBRAÇÕES MECÂNICAS

UNIVERSIDADE FEDERAL RURAL DA AMAZONIA ICIBE INSTITUTO CIBER ESPACIAL PROFº JOÃO SANTANNA

= = = = = = = = = = = = = = = =

Programação de Computadores. Primeiro contato

Prof. Marcelo Azevedo Costa. Departamento de Engenharia de Produção Universidade Federal de Minas Gerais

Introdução ao R. Análise de Dados e Simulação. Apoio: Andressa Cerqueira (Aluna do Programa PAE) Márcia D Elia Branco

Aula 02 - Introdução ao Scilab (p1)

R é um linguagem (ambiente) de programação para computação estatística e gráfica. Baseada na linguagem S (S-Plus)

Unidade 3: Linguagem de programação

Introdução à Ciência da Computação

Esta prática tem como objetivo apresentar o uso de Matlab para encontrar a resposta de um sistema dinâmico.

Introdução ao Scilab

Programação imperativa. 3. Mais funções

5 Funções. Site: BAC004 at Source page: 5 Funções at

Aula 08: Repetição (Parte 3)

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Programação de Computadores

Computação Eletrônica

BIE5782. Unidade 2: FUNÇÕES NUMÉRICAS

Introdução à Linguagem C

Introdução à Linguagem C. Adaptado de Deise Saccol

Algoritmos RESUMO - LINGUAGEM C

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Informática no Ensino da Matemática

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

AULA 4 LABORATÓRIO - MATLAB VERSÃO: FEVEREIRO DE 2017

Apostila de Matemática 10 Matriz

Introdução à Computação

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE

BIE5782. Unidade 3: OBJETOS DE DADOS E SUA MANIPULAÇÃO

SciLab. Prof. Raimundo C. Ghizoni Teive

Uma matriz m x n é um quadro de elementos dispostos em m linhas e n colunas. Os valores de m e n são sempre positivos e inteiros.

Introdução a Linguagem C

Revisão. Classe e objeto Construtores Polimorfismo Sobrecarga Pacote padrão

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

ALGORITMOS VARIÁVEIS E OPERADORES. Prof. Angelo Augusto Frozza, M.Sc.

Introdução à Computação

Sistemas numéricos e a Representação Interna dos Dado no Computador

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

Determinante x x x. x x (Ime 2013) Seja o determinante da matriz. O número de possíveis valores

Introdução ao Matlab. Rodrigo Soares de Abreu

02 - Introdução ao Scilab

Apostila Octave, o básico

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

. (1) Se S é o espaço vetorial gerado pelos vetores 1 e,0,1

Novas Tecnologias no Ensino da Matema tica

Aula 7. Noções Básicas de Octave

Aula 04: Fluxogramas e condicionais

Numpy ARRAY E MATRIZES

Programação Imperativa. Lição n.º 3 Operações aritméticas

. Repare que ao multiplicar os vetores (-1,1) e

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

Programação de Computadores

Introdução ao Fortran 90-1

Existem conjuntos em todas as coisas e todas as coisas são conjuntos de outras coisas.

Operações com Matrizes

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Introdução à Linguagem C

1 Introdução ao R. 1.1 Introdução. É uma linguagem de programação... Sobre o R

Iteração e Pontos Fixos

CCO 016 / COM 110 Fundamentos de Programação

Processamento da Informação

Símbolo Nome lê-se como Categoria = 10 significa que se se somar 4 a 6, a soma, ou resultado, é 10.

Recursão PROGRAMAÇÃO EM LÓGICA. Recursão. Sonho Recursivo. Recursão. Recursão. Linguagem Prolog Parte IV

Lista 2 TP060. Exercícios Vetores

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

MATLAB. José Luiz Rybarczyk Filho

SCILAB. Software livre para cálculo numérico e simulação de sistemas físicos Utilizado nas áreas de:

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Symbolic Math Toolbox

Programação de Computadores

UFSC Matrizes. Prof. BAIANO

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

CÁLCULO I. 1 Número Reais. Objetivos da Aula

ESTATÍSTICA BÁSICA COM USO DO SOFTWARE R

Questão 1 Exemplo de execução 1 (com N=6): Exemplo de execução 2 (com N=4):

Introdução da Linguagem C

TUTORIAL MATLAB MATEMÁTICA COMPUTACIONAL Aula 20-Novembro-2013

Funções úteis para manipulação de índices no R. 31 de março de 2017

MATEMÁTICA II. Aula 11. 3º Bimestre. Matrizes Professor Luciano Nóbrega

INTRODUÇÃO AO SCILAB

Transcrição:

CURSO INTRODUÇÃO AO R Aula 2 Linguagem R Luis Iván Ortiz Valencia IESC - UFRJ 2011 1

Tópicos 1. Operações básicas com números. 2. Estruturas básicas do R. 3. Objetos de estrutura Vetor. 4. Objetos de estrutura Matriz

Operações básicas com números A linha de comando funciona como uma calculadora. Operações binárias x + y, x y x * y, x / y x ** y ou x ^ y Nome Soma, Diferencia Produto, Divisão Potência Ordem das operações > 2+3*2-4/5^2 [1] 7.84 Usar o parêntese para agrupar operações. > (2+3)*(2-4)/5^2 [1] -0.4 O R usa o ponto (.) como separador dos decimais.

Operações básicas com números Muda o separador decimal para a vírgula nos resultados de operações: options(outdec = ",") > options(outdec=",") > 2/3 [1] 0,6666667 > 3.4-1 [1] 2,4

Operações básicas com números Função Seno Cosseno Tangente Raiz Quadrada Valor Absoluto Logaritmo natural Logaritmo base 10 Logaritmo base n Exponencial Fatorial R sin(x) cos(x) tan(x) sqrt(x) abs(x) log(x) log10(x) log(x,n) exp(x) factorial(x)

Operações básicas com números Por default, o R mostra 7 dígitos. > 343.544332223445 [1] 343.5443 > 3213131233133 [1] 3.213131e+12 > 1/3 [1] 0.3333333 > 100/3 [1] 33.33333

Operações básicas com números Define o número de dígitos significativos visíveis nos resultados de operações: options(digits = número) > 1/3 [1] 0.3333333 options(digits=2) > 1/3 [1] 0.33 > 5/4 [1] 1.2

Operações básicas com números Operação módulo entre dois números: x %% y > 3 %% 2 [1] 1 Operação divisão inteira entre dois números: x %/% y > 10 %/% 3 [1] 3

Operações com valores lógicos Os valores lógicos são TRUE e FALSE. Função R Negação! Igual == Diferente!= Maior > Menor < Maior ou igual >= Menor ou igual <= E & Serve para comparar números ou vetores. OU

Operações com valores lógicos > x <- 5 > x < 3 [1] FALSE > y <- 3 > x == y [1] FALSE > x<10 & y>=4 [1] FALSE > x<10 y>=4 [1] TRUE

Estruturas básicas do R Objetos Tudo que pode ser atribuído a uma variável. Exemplos Constantes: 3.3, "joão". Símbolos especiais: NA, TRUE. Estruturas de dados: matrizes, vetores. Resultados de operações: sqrt(2.3)+2, read.table("dados.csv ").

Estruturas básicas do R vector Estruturas básicas de objetos matrix array data.frame list

Um vetor é uma seqüência ordenada de células contendo dados. Os componentes (dados) de um vetor só podem ser do mesmo TIPO. Dado 1 Dado 2 Dado 3 Dado 4 Dado 5... Dado n Posição 1 2 3 4 5 n O valor de n representa o tamanho do vetor. Uma variável que recebe um único valor, por exemplo um número, equivale a um vetor de tamanho 1. > x <- 4 > x [1] 4

logical integer Tipos de vetores double complex character raw

Função para gerar vetores: c() > x <- c(1,3,5,3,2) > x [1] 1 3 5 3 2 > w <- c(1.33,3,0,-34,3) > w [1] 1.33 3.00 0.00-34.00 3.00 > y <- c("a","b","c") > y [1] "a" "b" "c > z <- c(true,false,false,true) > z [1] TRUE FALSE FALSE TRUE

> a <- c(1,3,4,"d") > a [1] "1" "3" "4" "d" Função para gerar vetores com números: scan() > x <- scan() 1: 11 2: 3 3: 23 4: 43 5: 54 6: Read 5 items > x [1] 11 3 23 43 54

Gera um vetor de seqüência de valores com incremento de uma unidade: a:b > 1:10 [1] 1 2 3 4 5 6 7 8 9 10 > 10:1 [1] 10 9 8 7 6 5 4 3 2 1 > 1.1:10 [1] 1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1

Gera seqüência de valores: seq(from =, to =, by = ) > seq(from = 1, to = 10, by = 0.5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 [16] 8.5 9.0 9.5 10.0 > seq(1.5,10.5,0.25) [1] 1.5 1.8 2.0 2.2 2.5 2.8 3.0 3.2 3.5 3.8 4.0 4.2 4.5 4.8 5.0 [16] 5.2 5.5 5.8 6.0 6.2 6.5 6.8 7.0 7.2 7.5 7.8 8.0 8.2 8.5 8.8 [31] 9.0 9.2 9.5 9.8 10.0 10.2 10.5

Acessa os elementos de um vetor: [] > x <- c(1,4,6,0,22,10) > x[2] [1] 4 > x[c(1,2)] [1] 1 4 > x[3:6] [1] 6 0 22 10

> x <- c(1,4,6,0,22,10) > x[x >=10] [1] 22 10 Acessa os valores de um vetor sob uma condição: [] Acessa as posições de um vetor sob uma condição: which() > x <- c(1,4,6,0,22,10) > which(x>=10) [1] 5 6

Muda o valor de um elemento específico de um vetor x <- c(1,4,6,0,22,10) x[3] <- 0 > x [1] 1 4 0 0 22 10 > x <- c(1,4,6,0,22,10) > x <= 5 [1] TRUE TRUE FALSE TRUE FALSE FALSE > x[x <= 5] <- 4 > x [1] 4 4 6 4 22 10

Função Tamanho Máximo Mínimo Amplitude Soma dos elementos Produto dos elementos Média Mediana Variância Desvio padrão Distância Interquartílica Sumario R length(x) max(x) min(x) range(x) sum(x) prod(x) mean(x) median(x) var(x) sd(x) IQR(x) summary(x)

Define um valor não disponível : NA NA significa NOT AVAILABLE. > x <- c(2,31,0,-3,na,2,na) Algumas operações que envolvem vetores com NA tem como resultado NA. > sum(x) [1] NA > mean(x,na.rm=true) [1] 6.4 Testa a presença de NA : is.na() > is.na(x) [1] FALSE FALSE FALSE FALSE TRUE FALSE TRUE

Define um valor infinito: Inf Inf significa INFINITE. > 1/0 [1] Inf Define um valor não disponível por processo computacional: NaaN NaaN significa NOT A NUMBER. > 0/0 [1] NaN

Ordena os elementos de um vetor: sort() > x <- c(1,4,6,0,22,10) > sort(x) [1] 0 1 4 6 10 22 > sort(x,decreasing=true) [1] 22 10 6 4 1 0

Junta dois vetores numéricos: c() > x <- c(1,4,6,0,22,10) > y <- c(2,4,6,4,2) > z <- c(x,y) > z [1] 1 4 6 0 22 10 2 4 6 4 2

Gera um vetor numérico: numeric() Vetor vazio. > x<-numeric() > length(x) [1] 0 > x[3]<-3 > x [1] NA NA 3 Vetor de zeros. > numeric(25) [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Operações com vetores Soma vetor e um número. > x <- c(1,4,6,0,22,10) > x+10 [1] 11 14 16 10 32 20 Soma dois vetores com mesmo tamanho. > x <- c(1,4,6,0,22,10) > y <- c(2,4,6,4,2,0) > x + y [1] 3 8 12 4 24 10

Operações com vetores Produto de vetor e um número. > x <- c(1,4,6,0,22,10) > 10*x [1] 10 40 60 0 220 100 Produto de dois vetores com mesmo tamanho. > x <- c(1,4,6,0,22,10) > y <- c(2,4,6,4,2,0) > x*y [1] 2 16 36 0 44 0 > x/y [1] 0.5 1.0 1.0 0.0 11.0 Inf

Apagando elementos de um vetor > x <- c(1,4,6,0,22,10) > x <- x[-6] > x [1] 1 4 6 0 22 > x <- c(1,4,6,0,22,10) > x <- x[-c(1,6)] > x [1] 4 6 0 22

Obtém uma amostra de valores de um vetor: sample() Sem reposição. > sample(1:50,10) [1] 14 41 31 9 4 7 47 18 38 23 Com reposição. > sample(1:10,30,replace=true) [1] 9 5 6 6 9 9 4 10 7 7 2 9 3 4 1 5 10 10 5 2 9 3 7 2 5 2 1 3 2 9 Observar que cada vez que o comando é repetido com os mesmo parâmetros o resultado é diferente.

Gera uma tabela de frequências dos valores de um vetor: table() > ss<-sample(1:10,30,replace=true) > ss [1] 3 9 4 3 1 8 2 7 2 9 4 8 1 10 2 9 10 7 4 2 2 1 7 9 7 1 10 4 7 10 > table(ss) ss 1 2 3 4 7 8 9 10 4 5 2 4 5 2 4 4

Operações de conjuntos com vetores Função União Interseção Diferencia simétrica Igual Pertence R union(x,y) intersection(x,y) setdiff(x,y) setequal(x,y) is.element(el,x)

> x <- c(sort(sample(1:20, 9)),NA) > y <- c(sort(sample(3:23, 7)),NA) > x [1] 2 3 4 6 7 9 10 12 16 NA > y [1] 3 4 10 15 16 18 19 NA > union(x,y) [1] 2 3 4 6 7 9 10 12 16 NA 15 18 19 > intersect(x,y) [1] 3 4 10 16 NA Operações de conjuntos com vetores

> x [1] 2 3 4 6 7 9 10 12 16 NA > y [1] 3 4 10 15 16 18 19 NA > setdiff(x, y) [1] 2 6 7 9 12 > setdiff(y, x) [1] 15 18 19 > setequal(x, y) [1] FALSE > is.element(19,x) [1] FALSE > is.element(10,x) [1] TRUE Operações de conjuntos com vetores

Verifica se algum valor de um vetor de valores lógicos é TRUE: any() > ss<-sample(-10:10,50,replace=true) > ss [1] -3-8 -1-4 7 9-4 -5 8-7 -4 8 10-9 7-6 -6-3 2-6 6 [22] 2-6 -4-9 -1 0 6 7 8 8 1-6 0-10 3-7 7 9-10 -6-2 [43] -1-4 7-4 6-8 10-4 > any(ss == 0) [1] TRUE

Verifica se todos os valores de um vetor de valores lógicos é TRUE: all() > ss<-sample(-1:10,50,replace=true) > ss [1] 9 3 10 6 6 0 6 3 6 9 3 3 4 9 1 8 7 3 10 4 2 6 7 10 5 0 4 8 [29] 1 3 3 4 4 9 4 3 3 6 4 0 7 8 5 0-1 1 5 2 1 10 > all(ss > 0) [1] FALSE > all(ss >= -1) [1] TRUE

Matriz Uma matriz é um arranjo retangular de números. 5 2 5 4 3 4 2 6 9 3 2 1 A dimensão da matriz é (número de linhas) x ( número de colunas). No exemplo, a dimensão é 3 x 4.

Matriz Gera uma matriz: matrix() > matrix(c(1,2,3,4,5,6,7,8), nrow = 2, ncol = 4, byrow = FALSE) > matrix(c(1,2,3,4,5,6,7,8), nrow = 2, ncol = 4) [,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 2 4 6 8 > matrix(c(1,2,3,4,5,6,7,8), nrow = 2, ncol = 4, byrow = TRUE) [,1] [,2] [,3] [,4] [1,] 1 2 3 4 [2,] 5 6 7 8

Matriz Gera uma matriz: matrix() > matrix(0,3,3) [,1] [,2] [,3] [1,] 0 0 0 [2,] 0 0 0 [3,] 0 0 0 > matrix(1,5,5) [,1] [,2] [,3] [,4] [,5] [1,] 1 1 1 1 1 [2,] 1 1 1 1 1 [3,] 1 1 1 1 1 [4,] 1 1 1 1 1 [5,] 1 1 1 1 1

Matriz Extração de valores de uma matriz: [] > m <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3) > m [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > m[2,3] [1] 8 > m[2,] [1] 2 5 8 > m[,2] [1] 4 5 6

Matriz > m<-matrix(1:25,5,5) > m [,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25 > m[1:3,] [,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 > m[,2:4] [,1] [,2] [,3] [1,] 6 11 16 [2,] 7 12 17 [3,] 8 13 18 [4,] 9 14 19 [5,] 10 15 20 > m[c(1,3,5),] [,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 3 8 13 18 23 [3,] 5 10 15 20 25

Matriz > m[1:3,] [,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 > dim(m[1:3,]) [1] 3 5 Dimensão de uma matriz: dim()

Matriz > m [,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25 > diag(m) [1] 1 7 13 19 25 > diag(1,3) [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1 Diagonal de uma matriz: diag() Gera uma matriz diagonal: diag()

Matriz > m<-matrix(1:21,3,7) > m [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 4 7 10 13 16 19 [2,] 2 5 8 11 14 17 20 [3,] 3 6 9 12 15 18 21 > nrow(m) [1] 3 > m<-matrix(1:21,3,7) > m [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 4 7 10 13 16 19 [2,] 2 5 8 11 14 17 20 [3,] 3 6 9 12 15 18 21 > ncol(m) [1] 7 Número de linhas de uma matriz: nrow() Número de colunas de uma matriz: nrow()

Matriz > m [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 4 7 10 13 16 19 [2,] 2 5 8 11 14 17 20 [3,] 3 6 9 12 15 18 21 > t(m) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4,] 10 11 12 [5,] 13 14 15 [6,] 16 17 18 [7,] 19 20 21 Transposta de uma matriz: t()

Matriz > m<-matrix(sample(1:10,9),3,3) > m [,1] [,2] [,3] [1,] 6 1 5 [2,] 9 4 10 [3,] 2 7 8 > det(m) [1] -5 Determinante de uma matriz: det()