質問

Rバージョン:2.12.2 / OS:Windows XP

クエリと操作する必要があるデータは、SPSS .SAVファイル(サイズ〜112MB)に保存され、SPSS構文の非常に基本的な知識があります。私はRにはるかに慣れています(一般的にデータの操作と分析にはそれを好む)ため、SPSSファイルをタブ削除ファイル(サイズ〜85MB)として保存し、RODBCパッケージからの機能を使用して照会しようとしました。

Windowsコントロールパネルの管理ツールグループ内の「データソース(ODBC)」アプリケーションを使用して、Microsoftテキストドライバーとテーブル(タブが削除されたファイル)を備えたデータベース(Windowsフォルダー)を設定します。

現在の対象表には、「日付」フィールド(「DateTime」と呼ばれる)があり、日付は「%y/%m/%d」のフォーマットされています。このフィールドの条件でデータベースを最初に照会しようとしたとき、私はゼロの観測値で結果セットを返しました。そこで、「DateTime」をデータ型「文字」に変更し、再度クエリを試しました(役に立たない)。

データベースを正常に照会することができます。

sqlQuery(channel = cn, query = "SELECT * FROM large_table.txt", as.is = TRUE, stringsAsFactors = FALSE, max = 20)

結果を返します。次のクエリは、ゼロの観測値を持つ結果の結果セットを返します(「Datetime」フィールドに値「2011/04/01」に少なくとも1つのレコードがあることを確認しました)。

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = {d '2011-04-01'}", as.is = TRUE, stringsAsFactors = FALSE)

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = '2011/04/01'", as.is = TRUE, stringsAsFactors = FALSE)

結果セットに観察がない理由を教えてもらえますか?

データベースの接続またはクエリを改善するための提案は大歓迎です。私は別のデータベースクエリパッケージの代わりにRODBCパッケージを使用することを好みますが、必要に応じて新しいことを試してみてください。

役に立ちましたか?

解決

これには「memisc」パッケージを使用します。 3つのSPSSファイルのSPSS.System.File()インポーターを設定し、MEMISCバージョンを使用してサブセットを使用して、ユーザーミッシングレベルの処理を含む必要な変数のみをロードします。

SPSSファイルのセットアップ方法についてはいくつかの奇妙なことがあります。数値変数を備えたSPSSファイルがユーザーミッシングセットを設定するのはかなり頻繁に発生します。

他のヒント

SPSSファイルをRに直接読むことで、多くの手間を保存できます。

library(foreign)
dat <- read.spss("filename.sav", to.data.frame=TRUE)

これにより、通常のRツールのすべてを使用して分析できるdata.Frameが返されます。

副次的な利点として、データの属性にアンケートテキストも表示されます。

見る ?read.spss 詳細については。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top