240 likes | 392 Views
R. Profa. Suzi camey@mat.ufrgs.br http://euler.mat.ufrgs.br/~camey/. Aula 02/05/08 Maiores detalhes: http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/. Dados no R Entrando com dados diretamento no R Lendo dados de um arquivo texto Importando dados de outros programas
E N D
R Profa. Suzi camey@mat.ufrgs.br http://euler.mat.ufrgs.br/~camey/
Aula 02/05/08Maiores detalhes: http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/ • Dados no R • Entrando com dados diretamento no R • Lendo dados de um arquivo texto • Importando dados de outros programas • Carregando dados já disponíveis no R • Acesso a planilhas e bancos de dados relacionais • Análise descritiva • Descrição univariada • Descrevendo o conjunto de dados “milsa” de Bussab & Morettin • Uma demonstração de recursos gráficos do R • Exercícios
Dados no R: Entrando com dados diretamente no R • Definindo vetores: como já vimos! > a2 <- c(23, 56, 34, 23, 12, 56) > a3 <- 1:10 > a4 <- (1:10) * 10 > a5 <- rep(3, 5) > a6 <- rep(c(5, 8), 3) > a7 <- rep(c(5, 8), each = 3)
Dados no R: Entrando com dados diretamente no R • Usando a função scan() y <- scan() #1: 11 #2: 24 #3: 35 #4: 29 #5: 39 #6: 47 #7: #Read 6 items
Dados no R: Entrando com dados diretamente no R • Usando a função edit() a8 <- edit(data.frame())
Dados no R: Entrando com dados diretamente no R • Corrigindo e/ou alterando dados > y[3] <- 25 > y[y >= 30] <- 30
Dados no R: Lendo dados de um arquivo texto • Primeiro mudar o diretório. > ex01 <- read.table("gam01.txt") > ex02 <- read.table("exemplo02.txt", head=T) > ex03 <- read.table("dadosfic.csv", head=T, sep=":",dec=",") > read.table("http://www.mat.ufrgs.br/~camey/R/gam01.txt")
Dados no R: Importando dados de outros programas • Primeiro carregar o pacote “foreign”: > require(foreign) • read.dbf() para arquivos DBASE • read.epiinfo() para arquivos .REC do Epi-Info • read.mtp() para arquivos "Minitab Portable Worksheet" • read.S() para arquivos do S-PLUS restore.data() para "dumps"do S-PLUS • read.spss() para dados do SPSS • read.systat() • read.dta() para dados do STATA • read.octave() para dados do OCTAVE (um clone do MATLAB) • Para dados do SAS há ao menos duas alternativas: • O pacote foreign disponibiliza read.xport() para ler do formato TRANSPORT do SAS e read.ssd() pode escrever dados permanentes do SAS (.ssd ou .sas7bdat) no formato TRANSPORT, se o SAS estiver disponível no seu sistema e depois usa internamente read.xport() para ler os dados no R. • O pacote Hmisc disponibiliza sas.get() que também requer o SAS no sistema.
Dados no R: Carregando dados já disponíveis no R • O R disponibiliza diversos bancos de dados. • Para listá-los use os comandos: >data() >data(“pacote”) • Exemplos: > data(mtcars) > head(mtcars) > require(MASS) > data(topo) > head(topo)
Dados no R: Acesso a planilhas e bancos de dados relacionais > require(RODBC) > xlscon <- odbcConnectExcel(“Siga.xls”) > dados1 <- sqlFetch(xlscon,“Plan1”) > odbcClose(xlscon) > head(dados1)
Análise descritiva: Descrevendo o conjunto de dados “milsa” de Bussab & Morettin Dados: http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase9.html#x10-530009.2 • entrar com os dados • fazer uma análise descritiva
Análise descritiva: Descrevendo o conjunto de dados “milsa” de Bussab & Morettin • Criar o banco: > milsa <- edit(data.frame()) > milsa • Alterar o banco: > fix(milsa)
Análise descritiva: Descrevendo o conjunto de dados “milsa” de Bussab & Morettin • Dar nome as categorias: >milsa$civil<-factor(milsa$civil,label=c("solteiro","casado"),levels=1:2) >milsa$instrucao<-factor(milsa$instrucao,label=c("1oGrau","2oGrau","Superior"),lev=1:3,ord=T) >milsa$regiao<-factor(milsa$regiao,label=c("capital","interior","outro"),lev=c(2,1,3)) > head(milsa)
Análise descritiva: Descrevendo o conjunto de dados “milsa” de Bussab & Morettin • Criar variáveis: > milsa<-transform(milsa,idade=ano+mes/12) ou > milsa$idade<-milsa$ano+milsa$mes/12 • Para simplificar a digitação: > attach(milsa)
Análise descritiva: Descrição univariada • Variável Qualitativa Nominal > civil > is.factor(civil) > civil.tb<-table(civil) > 100 * table(civil)/length(civil) > prop.table(civil.tb) > pie(table(civil)) > civil.mo<-names(civil.tb)[civil.tb == max(civil.tb)]
Análise descritiva: Descrição univariada • Variável Qualitativa Ordinal > instrucao > is.factor(instrucao) > instrucao.tb <- table(instrucao) > prop.table(instrucao.tb) > barplot(instrucao.tb) > instrucao.mo<-names(instrucao.tb)[instrucao.tb==max(instrucao.tb)] > median(as.numeric(instrucao)) > levels(milsa$instrucao)[median(as.numeric(milsa$instrucao))]
Análise descritiva: Descrição univariada • Variável quantitativa discreta: gráficos > filhos > is.factor(filhos) > is.numeric(filhos) > filhos.tb <- table(filhos) > filhos.tbr <- prop.table(filhos.tb) > plot(filhos.tb) > plot(filhos.tbr) > filhos.fac <- cumsum(filhos.tbr) > plot(filhos.fac, type = "S")
Análise descritiva: Descrição univariada • Variável quantitativa discreta: medidas de locação > filhos.mo <- names(filhos.tb)[filhos.tb == max(filhos.tb)] > filhos.md <- median(filhos, na.rm = T) > filhos.me <- mean(filhos, na.rm = T) > filhos.me <- mean(filhos, trim = 0.1, na.rm = T) > filhos.qt <- quantile(filhos, na.rm = T) trim=0.1: elimina 10% das maiores e menores observações na.rm=T: necessário pois existem missings
Análise descritiva: Descrição univariada • Variável quantitativa discreta: medidas de dispersão > range(filhos, na.rm = T) > filhos.A <- diff(range(filhos, na.rm = T)) > var(filhos, na.rm = T) > filhos.dp <- sd(filhos, na.rm = T) > filhos.cv <- 100 * filhos.dp/filhos.me > filhos.qt <- quantile(filhos, na.rm = T) > filhos.ai <- filhos.qt[4] - filhos.qt[2] > summary(filhos)
Análise descritiva: Descrição univariada • Variável quantitativa Contínua: > salario > is.factor(salario) > is.numeric(salario) > range(salario) > nclass.Sturges(salario) > args(cut) > args(cut.default) > salario.tb <- table(cut(salario, seq(3.5, 23.5, l = 8))) > prop.table(salario.tb)
Análise descritiva: Descrição univariada • Variável quantitativa Contínua: gráficos > hist(salario) > boxplot(salario) > stem(salario)
Análise descritiva: Descrição univariada • Variável quantitativa Contínua: medidas de localização e dispersão • como no caso discreto
Análise descritiva: Uma demonstração de recursos gráficos do R > demo(graphics) > file.show(system.file("demo/graphics.R",package="graphics"))
Análise descritiva: Exercícios • http://leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase9.html#x10-660009.6