データをインポートした後で、rxDataStep
関数を使用し、transforms
引数に欠損値の処理方法を定義します。
例として、いくつかの列を含む表があり、列の一部にNULL値があります。または、文字列の場合は空の文字列になる可能性があります。私のテーブル定義はそうのようになります。
CREATE TABLE dbo.tb_MissingValue(RowID int identity PRIMARY KEY,
Col1 int,
Col2 int,
Col3 varchar(50))
そして、私はそうのようにデータを挿入した:
マイRコードは、データベースからデータを取得するために、このようになります
INSERT INTO dbo.tb_MissingValue(Col1, Col2, Col3)
VALUES (1, null, 'Hello'),
(null, 2, 'world'),
(3, 1, ''),
(4, 2, 'Again');
:
connString <- "Driver=SQL Server;
Server=win10-dev;
Database=RTest;
Uid=sa;
Pwd=secret_stuff"
missingData <- RxSqlServerData(connectionString = connString,
sqlQuery = "SELECT * FROM dbo.tb_MissingValue")
missingData
データフレーム内のデータを見ると、次のようになります。
RowID Col1 Col2 Col3
1 1 1 NA Hello
2 2 NA 2 world
3 3 3 1 <NA>
4 4 4 2 Again
RowID Col1 Col2 Col3
1 1 1 Missing Hello
2 2 Missing 2 world
3 3 3 1 Missing
4 4 4 2 Again
:
nonMissing <- rxDataStep(inData = missingData,
transforms = list(
Col1 = ifelse(is.na(Col1), "Missing", Col1),
Col2 = ifelse(is.na(Col2), "Missing", Col2),
Col3 = ifelse(is.na(Col3), "Missing", Col3)))
を私はデータnonMissing
を表示するときに続いて、私はこれを取得:私は上記のように、私は何ができるかをこの段階で
は、rxDataStep
機能とtransforms
引数を使用することです
もちろん、元のクエリの欠損値も処理できます。それはおそらく私がやることです。
希望すると便利です。
Niels
RODBCまたはodbcで同じ結果が得られますか? –