Dando continuidade ao nosso estudo sobre o
Revolution R, vimos no
post Revolution R - Parte 1, como trabalhar inicialmente com a
IDE fornecida pelo grupo
Revolution Analytics.
Nesse
post veremos como manipular grandes bases de dados usando para isso o
Revolution R. Para isso, considere o arquivo
Pobreza.csv. É claro que essa base não é uma "base grande", mas vamos fazer os exercícios com ela, e, sem perda de generalidade, podemos posteriormente utilizar algum conjunto de dados com maior massa de informações.
O primeiro comando para manipulação de banco de dados no formato *.XDF será o comando
rxDataStep. O primeiro passo é ler a base de dados
Pobreza.csv:
#Importa os dados no formato XDF
pobreza.xdf <- rxImport(inData = "Pobreza.csv",outFile = "pobreza.xdf", overwrite=TRUE)
Esse comando importa o arquivo
Pobreza.csv e cria outro denominado
pobreza.xdf o qual estará no formato nativo do
Revolution R, em seguida, podemos fazer consultas simples nessa base de dados "grande". Para utilizar o comando
rxDataStep, podemos escrevê-lo diretamente ou usando o
Snippet:
Aqui a base Pobres.xdf será composta pelos municípios com Índice de Gini (Var09) maior ou igual a 0.40 e Incidência de Pobreza (Var03) superior a 50. Já a base Ricos.xdf será composta pelos municípios com Índice de Gini (Var09) menores do que 0.40 e Incidência de Pobreza (Var03) inferior ou igual a 50. O código é dado por:
#Cria as bases Pobres.xdf e Ricos.xdf
Pobres.xdf<- rxDataStep(inData = "pobreza.xdf",
outFile = "Pobres.xdf", rowSelection = Var09>=0.4 & Var03>50)
#Mostra as primeiras linhas
head(Pobres.xdf)
Ricos.xdf<- rxDataStep(inData = "pobreza.xdf",
outFile = "Ricos.xdf", rowSelection = Var09<0.4 & Var03<=50)
#Mostra as primeiras linhas
head(Ricos.xdf)
Para facilitar a alocação de memória podemos manter somente algumas variáveis de interesse, por exemplo, suponha que gostaríamos de ter na base somente as variáveis Var01, Var03 e Var09. Para isso, basta fazer:
#Mantêm somente as variáveis de interesse
rxDataStep(inData = "pobreza.xdf",
outFile = "Pobres.xdf", rowSelection = Var09>=0.4 & Var03>50,
overwrite=TRUE,varsToKeep=c("Var01","Var03","Var09"))
#Retira as variáveis que não são necessárias
rxDataStep(inData = "pobreza.xdf",
outFile = "Ricos.xdf", rowSelection = Var09<0.4 & Var03<=50,
overwrite=TRUE,varsToDrop=c("Var02","Var04","Var05",
"Var06","Var07","Var08","Var10","Var11"))
O comando
rxDataStep também pode ser utilizado para se criar novas variáveis na base de dados, por exemplo, suponha que desejamos criar uma variável
Tipo que assume valor igual a 0, quando a base é Pobres.xdf e 1 quando a base é Ricos.xdf:
#Cria a variavel Tipo para a base Pobres
rxDataStep(inData = "Pobres.xdf",outFile = "Pobres.xdf",
transforms = list(Tipo = Var01 < 0),overwrite=TRUE)
#Mostra as primeiras observações
head(Pobres.xdf)
#Cria a variavel Tipo para a base Ricos
rxDataStep(inData = "Ricos.xdf",outFile = "Ricos.xdf",
transforms = list(Tipo = Var01 > 0),overwrite=TRUE)
#Mostra as primeiras observações
head(Ricos.xdf)
Seguiremos com mais dicas sobre o
Revolution R em outros
posts.