Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2016 (13.x) и более поздних версий
Эта часть 3 входит в состав серии учебников по RevoScaleR, посвященной использованию функций RevoScaleR в SQL Server.
В предыдущем руководстве вы загрузили данные в SQL Server. Теперь вы сможете изучить и изменить данные с помощью RevoScaleR:
- Получение основных сведений о переменных
- Создание категориальных данных из необработанных данных
Категориальные данные или факторные переменные помогают визуализировать произвольные данные. Их можно использовать как входных данных для гистограмм, чтобы получить представление о переменных данных.
Запрос столбцов и типов
Для выполнения скрипта R используйте IDE R или RGui.exe.
Сначала получите список столбцов и их типов данных. Можно использовать функцию rxGetVarInfo и указать источник данных, которые нужно проанализировать. В зависимости от версии RevoScaleR можно также использовать rxGetVarNames.
rxGetVarInfo(data = sqlFraudDS)
Результаты
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
Создание категориальных данных
Все переменные хранятся как целочисленные, но некоторые из них представляют категориальные данные — в языке R они называются факторными переменными. Например, столбец state содержит числа, представляющие идентификаторы 50 штатов, а также округа Колумбия. Чтобы упростить понимание данных, замените числа списком сокращений, обозначающих штаты.
На этом этапе вы создадите вектор строк, содержащий эти сокращения, а затем сопоставите эти категориальные значения с исходными целочисленными идентификаторами. Затем вы добавите новую переменную в аргумент colInfo, чтобы указать, что этот столбец будет обрабатываться как коэффициент. При анализе данных или перемещении данных используются аббревиатуры, а столбец обрабатывается как коэффициент.
Сопоставление столбца сокращениям перед использованием столбца в качестве коэффициента также способствует повышению производительности. Дополнительные сведения см. в разделе Язык R и оптимизация данных.
Сначала создайте переменную R с именем stateAbb и определите вектор строк, который следует в нее добавить, следующим образом:
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")Затем создайте объект сведений о столбце с именем ccColInfo, в котором задается сопоставление существующих целочисленных значений категориальным уровням (сокращенным названиям штатов).
Эта инструкция также создает факторные переменные для gender и cardholder.
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") )Чтобы создать источник данных SQL Server, использующий обновленные данные, вызовите функцию RxSqlServerData , как и раньше, но добавьте аргумент colInfo .
sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = sqlRowsPerRead)- Для параметра table передайте переменную sqlFraudTable, которая содержит созданный ранее источник данных.
- Для параметра colInfo передайте переменную ccColInfo , которая содержит типы данных столбцов и уровни коэффициентов.
Теперь с помощью функции rxGetVarInfo можно просматривать переменные в новом источнике данных.
rxGetVarInfo(data = sqlFraudDS)Результаты
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
Теперь три указанные вами переменные (gender, state и cardholder) обрабатываются как факторы.