Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Dit is tutorial 3 van de RevoScaleR-tutorialserie over hoe je RevoScaleR-functies gebruikt met SQL Server.
In de vorige tutorial laadde je de data in SQL Server. In deze tutorial kun je data verkennen en aanpassen met RevoScaleR:
- Geef basisinformatie over de variabelen terug
- Creëer categorische data uit ruwe data
Categorische data, of factorvariabelen, zijn nuttig voor verkennende datavisualisaties. Je kunt ze gebruiken als invoer voor histogrammen om een idee te krijgen van hoe variabele data eruitziet.
Zoek naar kolommen en typen
Gebruik een R-IDE of RGui.exe om het R-script uit te voeren.
Eerst krijg je een lijst van de kolommen en hun datatypes. Je kunt de functie rxGetVarInfo gebruiken en de databron specificeren die je wilt analyseren. Afhankelijk van je versie van RevoScaleR kun je ook rxGetVarNames gebruiken.
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
Creëer categorische gegevens
Alle variabelen worden opgeslagen als gehele getallen, maar sommige variabelen vertegenwoordigen categorische gegevens, zogenaamde factorvariabelen in R. Bijvoorbeeld, de kolomstaat bevat nummers die als identificatie worden gebruikt voor de 50 staten plus het District of Columbia. Om het beter te maken de gegevens te begrijpen, vervang je de nummers door een lijst met staatsafkortingen.
In deze stap maak je een stringvector met de afkortingen, en koppel je deze categorische waarden aan de oorspronkelijke gehele identificatoren. Vervolgens gebruik je de nieuwe variabele in het colInfo-argument om aan te geven dat deze kolom als factor wordt behandeld. Telkens wanneer je de data analyseert of verplaatst, worden de afkortingen gebruikt en wordt de kolom als factor behandeld.
Het toewijzen van de kolom aan afkortingen voordat je het als factor gebruikt, verbetert de prestaties juist ook. Voor meer informatie, zie R en data-optimalisatie.
Begin met het maken van een R-variabele, stateAbb, en definieer de vector van strings om eraan toe te voegen, als volgt.
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")Maak vervolgens een kolominformatieobject, genaamd ccColInfo, dat de mapping specificeert van de bestaande gehele waarden naar de categorische niveaus (de afkortingen voor toestanden).
Deze verklaring creëert ook factorvariabelen voor geslacht en kaarthouder.
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") )Om de SQL Server-databron te creëren die de bijgewerkte data gebruikt, roep je de RxSqlServerData-functie aan zoals voorheen, maar voeg je het colInfo-argument toe.
sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = sqlRowsPerRead)- Voor de tabelparameter geef je de variabele sqlFraudTable door, die de eerder aangemaakte databron bevat.
- Voor de colInfo-parameter geef je de ccColInfo-variabele door, die de kolomdatatypes en factorniveaus bevat.
Je kunt nu de functie rxGetVarInfo gebruiken om de variabelen in de nieuwe databron te bekijken.
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
Nu worden de drie variabelen die je hebt gespecificeerd (geslacht, staat en kaarthouder) als factoren behandeld.