click below
click below
Normal Size Small Size show me how
Linguagem de prog. R
Ilustra estruturas semânticas, principais instruções e tipos da linguagem.
Term | Definition |
---|---|
Linguagem R | Software livre que surgiu como uma alternativa a linguagem S. Podendo executar diversas aplicações, R se destaca na manipulação de informações, elaboração de cálculos e desenho de gráficos. |
Instalando R | "O sistema é formado por um programa básico (R-Gui) e muitos pacotes com procedimentos adicionais. Tudo é gratuito e com código livre, voltado para comunidade acadêmica. A página central do R é: http://www.r-project.org/" |
Note que: (a) | Os comandos são separados por " ; " ou "enter". |
Note que: (b) | Maiúsculas ou minúsculas fazem diferença. |
Note que: (c) | Para comentar algo, você deve usar "#". |
Note que: (d) | Se um comando não terminou numa linha, o prompt do R muda de ">" para "+". |
Note que: (e) | Você pode usar novamente um comando acessando-o com setas para cima e para baixo. |
Independência de varáveis | A <- 1 b <- a a <- a+1. Quanto vale b? |
Funções | mediaNota <- function(unificada, regimentação){ media=(2*regimental+unificada)/3 } |
Laço for | Exemplo: Resp=0 for(i in 2:27){ resp=resp+(2*i+1) } |
Condicional | Exemplo: if(media >=7) { print(paste("aprovad":media)) }else { print(paste("reprovado:",media)) } |
Recursividade | "Para entender a recursividade, é fundamental entender a recursividade" Exemplo: fibonacci = function(n) { if(x<2) return(n) else return(fibonacci(x-1) + fibonacci(x-2)) } |
Atribuição (em objetos) | a=3 ou a <- 3 ou 3 -> a ou então assign("a",3) |
Consultar os objetos da sessão | Usar; ls( ) ou objects( ) |
Remover da memória algum objeto | rm(objeto) ou ainda rm(obejeto1, objeto2) |
Salvando objetos | save("MeusObjetos.RData") |
Carregar objetos de um arquivo | load("MeusObjetos.RData") |
Entrada | É possível carregar uma série de comandos de um arquivo: source(comandos.r) |
Saída | É possível redirecionar a saída para um arquivo: sink(saida.r) |
Voltar com a saída para o vídeo | Sink( ) |
Tipos de saída | PDF: pdf("filename.pdf"), Windows Metafile: win.metafile("filename.wmf"), PNG: png("filename.png"), JPEGE: jpeg("filemane.jpg"), BMP: bmp("filename.bmp"), Postscript("filename.ps") |
Carregar um arquivo texto em um objeto | Medidas <- scan(file = "analise.txt") |
Ler do teclado | Notas <- scan( ) |
Ambiente de trabalho (Diretório corrente) | Getwd( ) |
Ambiente de trabalho (Objetos na memória) | Is( ) |
Ambiente de trabalho (Últimos "n" comandos) | history(n) |
Ambiente de trabalho (gravar histórico) | savehistory("arquivo") |
Ambiente de trabalho (carregar histórico) | loadhistory("arquivo") |
Vetores | O objeto mais simples do R é um vetor. Mesmo uma variável (x=2 por exemplo), é considereda como um vetor de tamanho 1. |
Acesso a elementos do vetor | Pode-se acessar elementos do vetor com colchetes; (a[3]=5 por exemplo). |
Concatenar vetores | Exemplo; a=(1,2,3) b=(4,5,6) c=(a,b) |
Funções embutidas | Sqrt( ), log(a,b), exp( ), sin( ), cos( ), tan( ), asin( ), acos( ), atan( )... |
Funções sobre vetores | intervalo: range( ), Comprimento: length( ), somatório: sum( ), produtório:prod( ), média: mean( ), variância: var( ) ... |
Ordenação de vetor | sort(vetor, decreasing = TRUE) |
Repetições | rep(x,times=5) |
Valores lógicos | TRUE, FALSE ou NA |
Vetores de caracteres | Caractere é definido por " " ou ' '. Caracteres especiais são precedidos de " \ ": barplot(nota, names.arg=nome, main = "Notas da Prova") |
Concatenar verores transformando para strings | Paste(0:1, "berto", sep = " ") |
Acessando diversos intervalos de índices | X <- 1:10; x[c(2:3,5,7:8)] <-NA |
Atributo nome | Podemos nomear os índices para facilitar a identificação: aluno <- scan(what = character(3)) |
Fatores | Objetos para manipulação de dados categorizados |
Listas | Vetor com elementos não necessariamente do mesmo tipo |
Data frames | Matrizes com diferentes tipos de colunas: r=data.frame(z1 = 1:20, z2 = 1:5) |
Coerção | Troca de modo de um objeto: num <- 1:0 // as.character(num) -> digito // renum <- as.integer(digito) |
Operações com matrizes | mat <- matrix(1:16,4,4) // diagonal:diag(mat) // transposta: t(mat) // Inversa: solve(mat)... |
Multiplicação matricial (%*%) | M <- matrix(1:12,3,4) // V <- matrix (13:24,4,3) // M%*%V |
Distribuição de probabilidade (tipos de função) | "d" é a função densidade, "p" é função distribuição acumulada, "q" é a função quantil, "r" gera número aleatórios (random) |
Distribuição de probabilidade (a) | Exemplo a) Em 10 lançamentos de um dado, qual a probabilidade de sair o número 1 exatamente duas vezes? Em R: dbinom(2,10,1/6) |
Distribuição de probabilidade (b) | Exemplo b); Gerando 10 valores de uma normal com média=25 e desvio padrão=5. Em R: rnorm(10,25,5) |
Distribuição de probabilidade (c) | Exemplo c) Seja Z ~ Normal(0,1), calcule P(Z< - 1,64): pnorm(-1,64, 0, 1) = 0.0505 |
Distribuição de probabilidade (d) | Exemplo d) Encontre k tal que P(Z > 1,96) = 0,05: qnorm(0.05,0,1) = -1.6448 |