Bagikan melalui


Mengkueri dan memodifikasi data SQL Server (tutorial SQL Server dan RevoScaleR)

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru

Ini adalah tutorial 3 dari seri tutorial RevoScaleR tentang cara menggunakan fungsi RevoScaleR dengan SQL Server.

Dalam tutorial sebelumnya, Anda memuat data ke SQL Server. Dalam tutorial ini, Anda dapat menjelajahi dan memodifikasi data menggunakan RevoScaleR:

  • Mengembalikan informasi dasar tentang variabel
  • Membuat data kategoris dari data mentah

Data kategoris, atau variabel faktor, berguna untuk visualisasi data eksplorasi. Anda dapat menggunakannya sebagai input ke histogram untuk mendapatkan gambaran tentang seperti apa data variabel tersebut.

Kueri untuk kolom dan jenis

Gunakan IDE R atau RGui.exe untuk menjalankan skrip R.

Pertama, dapatkan daftar kolom dan jenis datanya. Anda dapat menggunakan fungsi rxGetVarInfo dan menentukan sumber data yang ingin Anda analisis. Bergantung pada versi RevoScaleR, Anda juga dapat menggunakan rxGetVarNames.

rxGetVarInfo(data = sqlFraudDS)

Hasil

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

Membuat data kategoris

Semua variabel disimpan sebagai bilangan bulat, tetapi beberapa variabel mewakili data kategoris, yang disebut variabel faktor dalam R. Misalnya, status kolom berisi angka yang digunakan sebagai pengidentifikasi untuk 50 status ditambah Distrik Columbia. Untuk mempermudah memahami data, Anda mengganti angka dengan daftar singkatan status.

Dalam langkah ini, Anda membuat vektor string yang berisi singkatan, lalu memetakan nilai kategoris ini ke pengidentifikasi bilangan bulat asli. Kemudian Anda menggunakan variabel baru dalam argumen colInfo , untuk menentukan bahwa kolom ini ditangani sebagai faktor. Setiap kali Anda menganalisis data atau memindahkannya, singkatan digunakan dan kolom ditangani sebagai faktor.

Memetakan kolom ke singkatan sebelum menggunakannya sebagai faktor benar-benar meningkatkan performa juga. Untuk informasi selengkapnya, lihat Pengoptimalan data dan R.

  1. Mulailah dengan membuat variabel R, stateAbb, dan menentukan vektor string untuk ditambahkan ke dalamnya, sebagai berikut.

    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")
    
  2. Selanjutnya, buat objek informasi kolom, bernama ccColInfo, yang menentukan pemetaan nilai bilangan bulat yang ada ke tingkat kategoris (singkatan untuk status).

    Pernyataan ini juga menciptakan variabel faktor untuk gender dan pemegang kartu.

    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")
    )
    
  3. Untuk membuat sumber data SQL Server yang menggunakan data yang diperbarui, panggil fungsi RxSqlServerData seperti sebelumnya, tetapi tambahkan argumen colInfo .

    sqlFraudDS <- RxSqlServerData(connectionString = sqlConnString,
    table = sqlFraudTable, colInfo = ccColInfo,
    rowsPerRead = sqlRowsPerRead)
    
    • Untuk parameter tabel, berikan variabel sqlFraudTable, yang berisi sumber data yang Anda buat sebelumnya.
    • Untuk parameter colInfo, berikan variabel ccColInfo, yang berisi jenis data kolom dan tingkat faktor.
  4. Anda sekarang dapat menggunakan fungsi rxGetVarInfo untuk melihat variabel di sumber data baru.

    rxGetVarInfo(data = sqlFraudDS)
    

    Hasil

    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
    

Sekarang tiga variabel yang Anda tentukan (jenis kelamin, status, dan pemegang kartu) diperlakukan sebagai faktor.

Langkah berikutnya