#### AULA 1 - INICIANDO NO R ### comando para limpar objetos 'antigos' rm(list=ls()) ### setando o diretorio de trabalho: # Files / ... e escolher pasta # depois ir em More / 'set as working directory' ### verificando o diretorio de trabalho getwd() # outro modo de setar o diretorio setwd("U:/Chico2/aula1") ### salvando e carregando a workspace com o objetos # salvando a workspace -colocar este comando no final do script save.image("aula1.Rdata") # carregando a workspace load("aula1.Rdata") ls() #### 1 - INFORMACOES GERAIS ### 1.1 - Instalacaoo de pacotes # clicar em 'Packages' e em 'Install' # nao basta instalar! É preciso carregar o pacote - usar 'library(nome) library(geoR) # como citar o R em publicaoes citation() # mostra como citar o R citation("sp") # mostra como citar o pacote #### 2 - USO INICIAL DO R ### 2.1 - Uso do R como calculadora ((4+16)/4)^2 (4+16/4)^2 (4+16)/4^2 ### 2.2 - Ajuda do R - na aba 'Help' # O arq de help possui, em geral, 10 topicos basicos # 1 - Description - faz um resumo geral sobre o uso da funcao # 2 - Usage - mostra como a funcao deve ser utiliz e quais arg podem ser especif # 3 - Arguments - explica o que é cada um dos argumentos # 4 - Details - explica detalhes sobre o uso e aplicao da funcao # 5 - Value - mostra o que sai no output apos usar a funcao (os resultados) # 6 - Note - notas sobre a funcao # 7 - Authors - lista os autores da funcao (quem escreveu os c?digos em R) # 8 - References - referencias para os metodos usados # 9 - See also - mostra outras funcoes relacionadas que podem ser consultadas # 10 - Examples - ex do uso da funcao. Copie e cole os ex no R para ver como funciona ### IMP.: É fundamental aprender a usar o help para um bom uso do R ### DICAS IMPORT: 'rseek'; stack overflow # Outra ferramenta de busca é a pagina http://www.rseek.org na qual é possivel buscar # por um termo nao so nos pacotes do R, mas tambem em listas de emails, manuais, # paginas na internet e livros sobre o programa. ### 2.3 - Funcoes do R # uso basico: nome da funcao e colocar os argum entre parenteses # exemplos: ??sqrt sqrt(16) # raiz quadrada prod(2,2) # o mesmo q 2x2 log(3) # log natural de 3 log(3,10) # log de 3 na base 10 log10(3) # idem acima abs(-9) # modulo de -9 factorial(4) # 4! ### 2.4 - Objetos do R # a) vetores: seq de valores num ou de caracteres # b) matrizes: colecao de valores em linhas e col - todos os vetores do mesmo tipo # c) dataframe: o mesmo q matriz, mas aceita vetores de tipos difer # geralm/ guardamos nos dados em dataframes (var num e categ) # d) listas: conj de vet, matrizes e dataframes - precisar ter o mesmo comprim # forma com a maioria das funcoes retorna os resultados # e) funcoes: func tb sao objetos do R ### 2.5 - Demosntracoes # algumas func possuem demonstr de uso - vistas usando 'demo()' # ex de demonstracoo de graficos demo(graphics) # 'Enter' p/ prosseguir # no console aparecem os comandos utilizados para a producoo dos graficos ### 2.6 - Como criar objetos # criar um vetor com o numero de casos de Aids em 10 cidades aids <- c(22,28,37,34,13,24,39,5,33,32) # c = concatenar aids # para ver o objeto length(aids) # numero de obs # obj com letras - entre aspas palavras<-c("Manaus","Boa Vista","Belem","Brasilia") palavras # se misturar num e letras - usar aspas em todos ### 2.7 - Operacoes com vetores max(aids) min(aids) sum(aids) aids^2 aids/10 aids.quad <- aids^2 aids.quad # ls() # rm(list=ls()) # ls() # calculando a media n.aids <- length(aids) media.aids <- sum(aids)/n.aids # usando a funcao 'mean' mean(aids) media.aids2 <- mean(aids) # acessando valores dentro de um obj [colchetes] # a sequencia de entrada dos dados é preservada aids[5] # acessando o quinto valor aids[c(5,8,10)] # acessando o quinto, oitavo e decimo valores aids[-1] # apresenta o vetor com a exclusao do primeiro valor aids1 <- aids[-1] # p/ criar um vetor sem o primeiro valor aids1 aids[1] <- 100 # trocando o primeiro valor por 100 aids aids[1] <- 22 # retornando ao antigo valor aids ### 2.8 - Transformar dados - log e raiz quadrada aids_rz <- sqrt(aids) # rz quadr aids_log10 <- log10(aids) # log 10 aids_log <- log(aids) # log natural aids.nv <- c(aids,100) ### 2.9 - Listar e remover obj ls() # listagem de obj rm(aids_log) # remover obj 'aids_log' ls() # na nova listagem vemos q 'aids_log' foi removido ### 2.10 - Gerar sequencias 1:10 # gerando seq de 1 em 1 seq(1,10,2) # criando seq de 1 a 10, de 2 em 2 ### 2.11 - Gerar repeticoes rep(5,10) # repetir o numero 5, 10 vezes rep(1:4,2) # repete a seq de 1 a 4, duas vezes rep(1:4,each=2) # repete cd valor da seq, duas vezes rep(c("A","B"),5) # repete a seq cinco vezes rep(c("A","B"),each=5) # repete cd valor da seq, cinco vezes rep(c("tres","dois","sete","quatro"),c(3,2,7,4)) # indic de qtas vz cd 1 deve ser repetido ### 2.12 - Gerar dados aleatorios # dados aleat com distr uniforme # runif(n,min=0,max=1) - gera distr aleat com distr uniforme com n valores temp <- runif(200,80,100) # gera 200 valores q vao de 80 a 100 temp head(temp) hist(temp) # histograma da distr 'temp' - distr com aspecto uniforme temp.nv <- runif(20000,80,100) hist(temp.nv) # dados aleat com distr normal # rnorm(n, mean=0, sd =1) gera n valores com dist nornal - media 0 e des padr 1 rnorm(200,0,1) temp2 <- rnorm(20000,0,1) hist(temp2) ### 2.13 - Amostras aleatorias - funcao sample # sample(x, size=1, replace = F) - x é conj de dd, size - tamanho da amostra # replace - com reposicao (T) ou sem reposicao(F) sample(1:20, 15) # agora com reposicao sample(1:20, 15, replace=T) #criando vetor x x <- 1:20 sample(x, 15) #colocando os valores amostrados em um vetor amostra.1 <- sample(x,15) # criar um moeda e joga-la p/ ver qtas caras saem em 10 jogadas moeda <- c("cara","coroa") # criando a moeda sample(moeda,10, replace=T) ### 2.14 - Ordenar e atribur postos (ranks) aos dados # funcoes 'sort', 'order' e 'rank' # 'sort' # coloca a func em ordem cresc ou decresc # 'order' # informa a posicao, na sequencia original, do numero considerando ordem crescente ou decrescente # para q a sequencia seja colocada em ordem cresc (ou decres - descreasing = T) # 77 93 24 3 29 58 18 25 59 81 - posicao original # 3 18 24 25 29 58 59 77 81 93 - ordem crescente # 4 7 3 8 5 6 9 1 10 2 - resultado 'order' # nº 3 (menor valor) esta na 4ª posicao na sequencia original # nº 18 (2º menor valor) esta na 7ª posicao na sequencia original # nº 24 (3º menor valor) esta na 3ª posicao na sequencia original # criacao de um vetor nao ordenado # 'rank' # atribui postos aos valores de um obj # 77 93 24 3 29 58 18 25 59 81 - posicao original # 3 18 24 25 29 58 59 77 81 93 - ordem crescente # 8 10 3 1 5 6 2 4 7 9 - resultado 'rank' # o nº 77 é o 8º maior; o 93 é o 10º maior, etc # Aplicando as funcoes 'sort', 'order' e 'rank' exemplo <- sample(1:100,10) exemplo sort(exemplo) sort(exemplo, decreasing = T) exemplo order(exemplo) exemplo rank(exemplo) # o menor valor recebe o rank = 1, o maior, o rank = 10 ### 2.15 Uso do rmarkdown para salvamento dos comandos e resultados #instalar o rmarkdown (se nao der certo pelo 'Packages' - usar o comando 'install.packages('rmarkdown')) # carregar o 'rmarkdown' # ir em 'File' e em 'New File' e escolher 'rmarkdown' # com o pacote aberto, digitar os comandos apos "```{r}" sempre na area cinza # finalizar o grupo de comandos com "```" # estas duas expressoes sao obtidas usando "Ctrl+Alt+I" # depois da inclusao de todos os comandos, clicar em "Knit ..." e escolher uma das opcoes - usar 'Word' # Dica: rodar primeiro todos os comandos no script e depois que todos os erros tiverem sido eliminados, criar o arquivo no R Markdown (se tiver erros, ele dá erro ao salvar!) ##################################################################### ### salvando a workspace com os objetos save.image("aula1.Rdata") ################################################################ ### BIBLIOGRAFIA # Landeiro VL. Introducao ao uso do Programa R. INPA,2011. # Provete DB, Silva FR, Souza TG.Estatistica aplicada a ecologia usando o R. UNESP, # Sao Jose do Rio Preto, 2011. # Kabacoff RI. R in action - Data analysis and graphics with r. Manning, Shelter Island, NY, 2015.