Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
To jest trzeci samouczek z serii tutoriali RevoScaleR, jak korzystać z funkcji RevoScaleR z SQL Server.
W poprzednim samouczku załadowałeś dane do SQL Server. W tym samouczku możesz eksplorować i modyfikować dane za pomocą RevoScaleR:
- Zwróć podstawowe informacje o zmiennych
- Tworz dane kategoryczne z surowych danych
Dane kategoryczne, czyli zmienne czynnikowe, są przydatne do eksploracyjnych wizualizacji danych. Możesz użyć ich jako danych wejściowych do histogramów, aby zobaczyć, jak wyglądają dane zmiennych.
Zapytanie o kolumny i typy
Użyj R IDE lub RGui.exe do uruchomienia skryptu R.
Najpierw zdobądź listę kolumn i ich typów danych. Możesz użyć funkcji rxGetVarInfo i określić źródło danych, które chcesz analizować. W zależności od wersji RevoScaleR, możesz też użyć 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
Tworzenie danych kategorycznych
Wszystkie zmienne są przechowywane jako liczby całkowite, ale niektóre zmienne reprezentują dane kategoryczne, zwane zmiennymi czynnikowymi w R. Na przykład stan kolumny zawiera numery używane jako identyfikatory dla 50 stanów oraz Dystrykt Kolumbii. Aby ułatwić zrozumienie danych, zastępuje się liczby listą skrótów stanowych.
W tym kroku tworzysz wektor łańcuchowy zawierający skróty, a następnie mapujesz te wartości kategoryczne na oryginalne identyfikatory liczb całkowitoliczbowych. Następnie używasz nowej zmiennej w argumencie colInfo , aby określić, że ta kolumna ma być traktowana jako czynnik. Za każdym razem, gdy analizujesz dane lub je przenosisz, używa się skrótów, a kolumna jest traktowana jako czynnik.
Mapowanie kolumny na skróty przed użyciem jej jako faktora również poprawia wydajność. Więcej informacji można znaleźć w sekcji R i optymalizacja danych.
Zacznij od utworzenia zmiennej w języku R, stateAbb, i zdefiniowania wektora ciągów znaków, który ma zostać do niej przypisany, w następujący sposób.
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")Następnie stwórz obiekt informacji kolumny, nazwany ccColInfo, który określa mapowanie istniejących wartości całkowitych na poziomy kategoryczne (skróty stanów).
To stwierdzenie tworzy również zmienne czynnikowe dla płci i posiadacza karty.
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") )Aby utworzyć źródło danych SQL Server, które korzysta z zaktualizowanych danych, wywołaj funkcję RxSqlServerData jak wcześniej, ale dodaj argument colInfo.
sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = sqlRowsPerRead)- Dla parametru tabeli wprowadź zmienną sqlFraudTable, która zawiera źródło danych, które wcześniej stworzyłeś.
- Dla parametru colInfo wprowadź zmienną ccColInfo , która zawiera typy danych kolumn i poziomy czynników.
Teraz możesz użyć funkcji rxGetVarInfo , aby zobaczyć zmienne w nowym źródle danych.
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
Teraz trzy wymienione przez ciebie zmienne (płeć, stan i posiadacz karty) są traktowane jako czynniki.