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

Documentos relacionados
UFERSA Universidade Federal Rural do Semi-Árido. R Project R Project Criando e manipulando objetos.

ENG1000 Introdução à Engenharia

TUTORIAL MATLAB Victor Breder 2016

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Simulado de Linguagem de Programação Java

UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Estatística. Introdução à Aplicação R

Estruturas de entrada e saída

Inteligência Artificial

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Programação WEB I Estruturas de controle e repetição

2 Segmentação de imagens e Componentes conexas

Universidade Federal de Goiás Campus Catalão Departamento de Matemática

Lista de Funções do R

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

OPERADORES E ESTRUTURAS DE CONTROLE

Mini Curso Introdução ao MATLAB

Algoritmos em Javascript

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

2 echo "PHP e outros.";

Javascript 101. Parte 2

FESP FACULDADE DE ENGENHARIA SÃO PAULO DISCIPLINA BP1: PROCESSAMENTO DE DADOS

CAPITULO 5 COMANDO DE FLUXO IF

Programar. Visual Basic 1/61

MATLAB Avançado. Melissa Weber Mendonça

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

Obtenção Experimental de Modelos Matemáticos Através da Reposta ao Degrau

JSP - ORIENTADO A OBJETOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

PÓS-GRADUAÇÃO. MBA em Big Data. Introdução à Linguagem R. Prof. Antonio Henrique Pinto Selvatici.

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1

Projeto de Redes Neurais e MATLAB

Sistemas e Sinais (LEE & LETI)

Aula 2P - Comandos básicos do Matlab aplicados a PDS

APOSTILA DE VBA PARA EXCEL MARCOS DE BARROS OUTUBRO DE RISK MANAGEMENT

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Associação de dados cartográficos a alfanuméricos no MapInfo

Introdução ao Software Estatístico R

Curso Software R. Disciplina: Métodos Computacionais para Estatística II Professor: Jony Arrais Pinto Junior

ISCAP. Algoritmia. Pág. 1. Ana Paula Teixeira

Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas em ArcView

Expressões Lógicas e Aritméticas. Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Programação de Computadores I BCC Terceira Avaliação 06/04/2013 Valor (3,0)

A1;A7 é o mesmo que A1 e A7 A1:A7 é o mesmo que A1 até A7 (abrange A1, A2, A3, A4, A5, A6, A7).

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

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Métodos Numéricos em Finanças

Entropia, Entropia Relativa

Desenvolvimento OO com Java 3 Estruturas de Controle e Programação Básica

Curso C: Ponteiros e Arrays

Métodos Estatísticos Avançados em Epidemiologia

Manual do Desenvolvedor Geração de Tokens

Introdução ao. Valeska Andreozzi. valeska.andreozzi at fc.ul.pt. Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal.

Organização de Computadores 1

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Introdução a Algoritmos Parte 04

Software Livre R: aplicação estatística. Emanuel Fernando Maia de Souza Luiz Alexandre Peternelli Márcio Pupin de Mello

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Prof. Daniela Barreiro Claro

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Utilizem a classe Aula.java da aula passada:

Conteúdo programático

José Romildo Malaquias

ALGORITMO I VARIÁVEIS INDEXADAS

IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Aula 11: Desvios e Laços

Conteúdo. DHTML tópicos Hamilton Lima

Criando scanner para dectar BackupExec vulneráveis ao exploit do Metasploit. Inj3cti0n P4ck3t

QUESTÃO 4 QUESTÃO 3 QUESTÃO 6 QUESTÃO 5. O código a seguir imprimirá Resultado = 33. <?php $var = 3; echo Resultado =. ($var + 3);?

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Engenharia)de)resolução)de)problemas)

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Programação Orientada a Objetos SANTOS, Rafael

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Caso tenha alguma dificuldade nesta etapa, procure um técnico de informática para auxiliá-lo.

Vetores, Matrizes e String

4.6. Nós do Diagrama de Bloco

Suporte Nativo a XML no Oracle 10g

Aluísio Eustáquio da Silva

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

4 Criação de macros e introdução à linguagem VBA

Conhecendo o Delphi 2010

O que é o R? Introdução à Aplicação. Iniciar uma sessão de R. Instalar o R. Comandos elementares. RGui

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

Desenvolvido por: Juarez A. Muylaert Filho - jamf@estacio.br Andréa T. Medeiros - andrea@iprj.uerj.br Adriana S. Spallanzani - spallanzani@uol.com.

Transcrição:

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

Leitura de dados: leitura de dados a partir de arquivos leitura de dados a partir de páginas na web. Introdução à programação no R. Estruturas de dados: variáveis, data.frames e listas. Comandos length() e dim(). Estruturas lógicas. Manipulação de dados: acessando colunas e estruturas de dados de data.frames e listas. Exercícios. aula01.r

Comando read.table() data <- read.table("regr_serie01.csv", header = TRUE, sep = ",") summary(data) plot(data$periodo,data$vendas) Uma variação: dados <- read.table( file.choose() ) dados <- read.csv("base_aneel.csv")

dados <- read.table( file.choose() ) dados <- read.csv( file.choose() ) setwd( choose.dir() ) dados <- edit(data.frame()) choose.files(filters = Filters[c("zip", "All"),]) dados <- edit(data.frame()) write.table(dados01, "teste.csv",quote=f, sep=",",row.names=f)

XML package provides an amazing readhtmltable() function library(xml) ## if(!require(xml)){ install.packages(xml); library(xml) } acsi.url="http://www.theacsi.org/index.php?option=com_content&view=article &id=147&catid=&itemid=212&i=airlines" acsi.df=readhtmltable(acsi.url,header=t,which=1,stringsasfactors=f) # only keep column #1(name) and #18 (2010 score) acsi.df=acsi.df[,c(1,18)] head(acsi.df,1)

numeric, logical, character or list, matrix, array, factor and data.frame

## Data: 27/02/2013 ## Prof. Marcelo A Costa ## Departamento de Engenharia de Producao ## Analise Exploratoria de Dados rm(list=ls(all=true)) dados <- read.csv("base_aneel.csv") names(dados) ## Abrir os dados em uma planilha de dados fix(dados) ## Analise Exploratoria ## ## Tabela de Frequencia table(dados$empresa) barplot( table(dados$empresa), ylab="frequencia", xlab="empresa", col="yellow" )

# Programa para leitura e processamento dos dados da França # Implementação do Modelo de Regressão Logístico Univariado # Um modelo para cada uma das 22283 covariáveis # # Executa uma simulação com permutação para verificar quais são # as variáveis mais significativas rm(list=ls(all=true)); ## Clear all objects aux <- read.table("c:/azevedo/projetos/euler_braga/dadoshouston.txt"); out <- read.table("c:/azevedo/projetos/euler_braga/pcr82.txt",header = FALSE); n <- dim(out)[1]; # Selects the number of the observations var <- as.matrix( t(aux) ); trn <- list(c("y","x")); trn$y <- (as.matrix(out)); vtdev <- 0*(1:(dim(var)[2])); vtaic <- 0*(1:(dim(var)[2])); vtpv <- 0*(1:(dim(var)[2])); vtmax <- 0*1:1000; for( cnt_ in 1:1000 ){ for( cont in 1:(dim(var)[2]) ){ trn$x <- as.numeric(var[,cont]); trn$x <- trn$x[sample(n,n)]; model <- glm(y ~ x, family = binomial, data = trn); s <- summary.glm(model); vtdev[cont] <- model$dev; vtaic[cont] <- model$aic; vtpv[cont] <-(s$coef)[2,4]; } vtmax[cnt_] <- max( vtdev ); # Take the maximum of the deviance vector # Save the results write.table(vtmax[1:cnt_], file = "C:/azevedo/Projetos/Euler_Braga/max.csv", sep = " ", row.names = FALSE); }

Estrutura básica de algoritmos Tipos de variáveis (objetos) Operações Aritméticas e Lógicas Estruturas de condição Estrutura condicional simples Estrutura condicional composta Estruturas de repetição (loops) Exemplos

Algoritmo Declare A, B, C numérico # Declaração das variáveis Leia A, B C (A + B) x B Escreva A, B, C # Leitura das variáveis # manipulação # impressão de resultados Fim Algoritmo

Operadores aritméticos básicos: +, -, *, /, ^ (potência). Funções aritméticas básicas: log(), exp(), sin(), cos(), tan(), sqrt(). Operadores lógicos <, <=, >, >=, ==,!=, & (and), (or). Ex. c <- (x > 0), verifica se o número é maior que zero. c ( TRUE, FALSE ) ou (0, 1).

Se condição então sequência de comandos Fim Se f ( x) 1 4 x, 0, x 3 caso contrário f_x <- 0 if(x>=3){ f_x <- x/4 } if(condição){ comandos }

f ( x) 1 4 x, 0, 1 x 3 caso contrário f_x <- 0 if((x>=1)&(x<=3)){ f_x <- x/4 }

Se condição então sequência A de comandos senão sequência B de comandos Fim Se 1 4 x, 0 x 2 f x), 2 x 6 ( 1 8 0, caso contrário

f_x <- 0 if((x>=0)&(x<=2)){ f_x <- x/4 } if((x>2)&(x<=6)) { f_x <- 1/8 } if((x>=0)&(x<=2)){ f_x <- x/4 } else { if((x>2)&(x<=6)){ f_x <- 1/8 } else { f_x <- 0 } }

Variáveis, ex. x <- 5 ou x = 5 Vetores, ex. x <- c(10.4, 5.6, 3.1, 6.4) Sequência, 1:6 ou s <- seq(-5, 5, by=0.2) Matrizes Fatores Listas Funções

Repita Se condição então interrompa Fim Se sequência de comandos Fim Repita

for(sequência) sequência de comandos if(condição) break end if end for x <- 0 for(c in 1:10){ x <- x + c } for(c in seq(1, 10, by=0.25)) cat(c," \n")

vetor <- seq(0, 10, by=0.01) tam <- length(vetor) soma <- 0; for(c in 1:tam){ soma <- soma + vetor[c] } Outras formas de definir vetores: x <- c(10.4, 5.6, 3.1, 6.4, 21.7)

# Programa para a geração de um gráfico de densidade de # probabilidade - 28/02/2008 x <- seq(-1, 10, by=0.01) # gera as sequencias de x f_x <- 0*x; # inicializa o vetor resposta tam <- 1101 # armazena o tamanho do vetor for(cont in 1:tam){ # loop de varredura dos valores de x # Aplicação da função de densidade if((x[cont]>=0)&(x[cont]<=2)){ f_x[cont] <- x[cont]/4 } else { if((x[cont]>2)&(x[cont]<=6)){ f_x[cont] <- 1/8 } else { f_x[cont] <- 0 } } } # Fim loop for plot(x,f_x); # Plota os resultados

x <- seq(-1, 10, by=0.01) f_x <- 0*x tam <- 1101 for(cont in 1:tam){ if((x[cont]>=0)&(x[cont]<=2)){ f_x[cont] <- x[cont]/4 } else { if((x[cont]>2)&(x[cont]<=6)){ f_x[cont] <- 1/8 } else { f_x[cont] <- 0 } } } plot(x,f_x)

q() Sair help(solve) Ajuda do R ou?solve objects() ou ls() lista os objetos armazenados no R

Estrutura capaz de armazenar sequências de valores sejam números ou caracteres x1 <- 10 x2 <- c(1, 3, 6) x2[1] length(x2) x3 <- 1:10 x4 <- seq(0,1, by=0.1) x4[x4 > 0.5] x4 > 0.5 x5 <- seq(0,1, len=11) O comando c(.), concatena os elementos no seu argumento Operação lógica em um vetor OBS: Os vetores só podem ser de um único tipo.

vetor <- seq(0, 10, by=0.01) tam <- length(vetor) soma <- 0; for(c in 1:tam){ soma <- soma + vetor[c] } Outras formas de definir vetores: x <- c(10.4, 5.6, 3.1, 6.4, 21.7)

Crie um algoritmo que gera uma sequência de valores entre 0 e 15, espaçados de 0.02 e calcula a soma dos mesmos. Acrescente a opção de calcular a média dos valores gerados.

x6 <- rep(1, 5) x7 <- rep(c(1, 2), c(3, 5)) x8 <- rep(1:3, rep(5,3)) x9 <- rnorm(10, mean=70, sd=10) sum(x9) mean(x9) var(x9) min(x9) max(x9) summary(1:10) x10 <- x9[x9 > 72]

x <- array(1:20, dim=c(4,5)) y <- array(c(1:3,3:1),dim=c(4,5)) Xb <- matrix(0, linhas, colunas) a <- c(1,2,3) b <- c(4,5,6) c <- rbind(a,b) c <- cbind(a,b)

Crie um programa capaz de gerar duas matrizes A 3x5 e B 5x7. Inicialize os elementos da matriz a partir de valores aleatórios uniformes a partir do comando runif(.). Calcule uma nova matriz C definida como o produto das matrizes A e B

Um script em R pode ser salvo em arquivo e posteriormente executado ou mesmo novamente acessado e modificado.