Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Este é o tutorial 3 da série de tutoriais RevoScaleR sobre como usar funções RevoScaleR com SQL Server.
No tutorial anterior, carregaste os dados no SQL Server. Neste tutorial, pode explorar e modificar dados usando o RevoScaleR:
- Devolver informação básica sobre as variáveis
- Criar dados categóricos a partir de dados brutos
Os dados categóricos, ou variáveis fatorais, são úteis para visualizações exploratórias de dados. Pode usá-los como entradas para histogramas para ter uma ideia de como são os dados variáveis.
Consultar colunas e tipos
Use um IDE ou RGui.exe R para executar o script R.
Primeiro, obtenha uma lista das colunas e dos seus tipos de dados. Podes usar a função rxGetVarInfo e especificar a fonte de dados que queres analisar. Dependendo da sua versão do RevoScaleR, também pode usar o rxGetVarNames.
rxGetVarInfo(data = sqlFraudDS)
Results
Var 1: custID, Type: integer
Var 2: gender, Type: integer
Var 3: state, Type: integer
Var 4: cardholder, Type: integer
Var 5: balance, Type: integer
Var 6: numTrans, Type: integer
Var 7: numIntlTrans, Type: integer
Var 8: creditLine, Type: integer
Var 9: fraudRisk, Type: integer
Criar dados categóricos
Todas as variáveis são armazenadas como inteiros, mas algumas variáveis representam dados categóricos, chamados variáveis fatoriais em R. Por exemplo, o estado coluna contém números usados como identificadores para os 50 estados mais o Distrito de Columbia. Para facilitar a compreensão dos dados, substitui os números por uma lista de abreviaturas de estado.
Neste passo, cria-se um vetor string contendo as abreviaturas e depois mapeia estes valores categóricos para os identificadores inteiros originais. Depois usa a nova variável no argumento colInfo , para especificar que esta coluna seja tratada como um fator. Sempre que analisas ou moves os dados, as abreviaturas são usadas e a coluna é tratada como um fator.
Mapear a coluna para abreviaturas antes de a usar como fator melhora o desempenho também. Para mais informações, veja R e otimização de dados.
Comece por criar uma variável R, stateAbb, e definir o vetor de cadeias a acrescentar, da seguinte forma.
stateAbb <- c("AK", "AL", "AR", "AZ", "CA", "CO", "CT", "DC", "DE", "FL", "GA", "HI","IA", "ID", "IL", "IN", "KS", "KY", "LA", "MA", "MD", "ME", "MI", "MN", "MO", "MS", "MT", "NB", "NC", "ND", "NH", "NJ", "NM", "NV", "NY", "OH", "OK", "OR", "PA", "RI","SC", "SD", "TN", "TX", "UT", "VA", "VT", "WA", "WI", "WV", "WY")De seguida, crie um objeto de informação de coluna, chamado ccColInfo, que especifica o mapeamento dos valores inteiros existentes para os níveis categóricos (as abreviaturas de estados).
Esta afirmação também cria variáveis fatoriais para o género e o titular do cartão.
ccColInfo <- list( gender = list( type = "factor", levels = c("1", "2"), newLevels = c("Male", "Female") ), cardholder = list( type = "factor", levels = c("1", "2"), newLevels = c("Principal", "Secondary") ), state = list( type = "factor", levels = as.character(1:51), newLevels = stateAbb ), balance = list(type = "numeric") )Para criar a fonte de dados do SQL Server que utiliza os dados atualizados, chame a função RxSqlServerData como antes, mas adicione o argumento colInfo.
sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = sqlRowsPerRead)- Para o parâmetro da tabela , passe a variável sqlFraudTable, que contém a fonte de dados que criou anteriormente.
- Para o parâmetro colInfo , passe a variável ccColInfo , que contém os tipos de dados das colunas e os níveis de fatores.
Agora pode usar a função rxGetVarInfo para visualizar as variáveis na nova fonte de dados.
rxGetVarInfo(data = sqlFraudDS)Results
Var 1: custID, Type: integer Var 2: gender 2 factor levels: Male Female Var 3: state 51 factor levels: AK AL AR AZ CA ... VT WA WI WV WY Var 4: cardholder 2 factor levels: Principal Secondary Var 5: balance, Type: integer Var 6: numTrans, Type: integer Var 7: numIntlTrans, Type: integer Var 8: creditLine, Type: integer Var 9: fraudRisk, Type: integer
Agora, as três variáveis que especificaste (género, estado e titular do cartão) são tratadas como fatores.