問題タブ [sqldf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 欠落しているデータフレームをどのように見つけることができますか?
私は選挙資金データを作成しており、1989年から2010年の間にxの金額を寄付したxの企業の従業員を検索しています。sqldfを使用してこの情報を解析することができました。データは>4gbで、RAMは<2gbなので、データを約100mbのスプレッドシートに分割し、この情報を取得するために40個をロードしました。企業xからの寄稿者がいる人もいれば、いない人もいます。
ファイルの「キャッチャーミット」を作成する方法を知っている人はいますか?この「キャッチャーミット」は、これらの関連ファイルを識別し、行をバインドします。
誰かが一般的な改善をしたい場合に備えて、コードを添付していますか?
ご協力いただきありがとうございます
r - sqldf() を使用して、100 万の項目に一致する行を選択する
これは、ここでの使用に関する回答のフォローアップですsqldf()
https://stackoverflow.com/a/1820610
私の特定のケースでは、1 億 1000 万行を超えるタブ区切りファイルがあります。460 万のタグ ID に一致する行を選択したいと考えています。
次のコードでは、タグ ID はtag.query
ただし、この例は小さなクエリで機能しますが、上記の大きな例は処理しません。
代替アプローチに関する提案はありますか?
r - sqldf で引用符を「quote」と記述する
私はcsvファイルを持っているsep="\t", quote=TRUE
ので、データは次のように引用されています"2011-01-11"
次のスクリプトを使用してcsvファイルをRにインポートしました
temp <- sqldf("select * from dummy limit 10",file.format=list(header=TRUE,sep="\t",quote="\""))
しかし、それは私に次のようなものを与えます"\"2011-01-11\""
各\"
セルの余分なものを取り除きたいのですが、どうすればよいですか? ありがとう。
r - 大規模な R データ フレームのすべての行のフィルタリングとカウントを最適化する方法
次のようなデータフレームがあります。
一意の名前/日のペアごとに、「この人の当日または翌日の賃金が 175 を超えた回数」など、合計の範囲を計算したいと思います。賃金よりも多くの列があり、各行の各合計に適用される 4 つのタイム スライスがあります。
現在、データフレームを一意にすることで達成できます:
次に、 のすべての行に対してdf.unique
、次の関数 (わかりやすくするために手書きで記述) を に適用しますdf
。
この些細な例で、私に与えます:
ただし、数十万行あることを考えると、これは非常に遅いアプローチのようです。これを行うより賢い方法はありますか?行列演算、適用、sqldf、そのようなものはありますか?
サンプル df を再作成するコード:
sql - sqldfとRPostgreSQLを一緒に使用する
使っていると、同じようRPostgreSQL
に使えないことがわかりました。sqldf
たとえば、ライブラリをロードし、次のコードを使用してデータをデータフレームに読み込んだ場合:
このテーブルの内容がデータフレームにあることはわかっていますdf
。ただし、を使用してSQLコマンドを実行する場合は、sqldf
以前は次のようにします。
エラーメッセージが表示されるため、これは機能しなくなりました。
sqldf
これは私の側のオペレーターエラーだと思いますが、データフレームに焦点を合わせ、他のものに接続しようとしないように、どの引数を提供するかがわかりません。
java - JRIを使用してJavaでRのsqldfパッケージを呼び出す
Java で R コードを実行するために、JRI を使用して Java コードを開発しました。今、私は R の sqldf パッケージを使用しなければならず、Java コードでその関数を使用しようとしている問題 (データ フレームの列で個別の値を取得する) に遭遇しました。サンプル コードは次のとおりです (オレンジ色は、既定で R に既に存在するデータセットです)。
上記のコードの出力は次のとおりです。
これは、「dframe」に何も含まれていないことを意味します。しかし、R で同じ sqldf func: sqldf("select * from Orange") を実行しようとすると、35 行になります。Java で sqldf 関数を使用して目的の結果を得るにはどうすればよいですか?
私の環境変数は次のように設定されています:
sql - 2つのまったく異なるクエリの同じ出力
次の2つのクエリは、Rstudiov_0.96で実行したときに同じ出力を提供します。
1)
2)
最初の答えは2番目の答えとはまったく異なる仕事をしているように見えますが、同じ答えの背後にある理由を理解していないようです。私はSQLの経験があまりないので、ご容赦ください。これに答えるには、データセットに関する詳細情報が必要ですか?
r - 結合変数の重複が存在する場合の内部結合
重複の可能性:
R でデータ フレームを結合する方法 (内側、外側、左、右)?
この質問は、R での結合についてうまくいきます。
内部結合に関するウィキペディアの記事も役に立ちます。
この結果をベースRで再現したいと思います。次の作業はうまくいかないと思います:
マージ変数が重複しているためです。
ただし、sqldf
動作します:
私の質問は次のとおりです。
これは、マージがここで内部結合を実行しないことを意味しますか。
ベースRでこの結合を達成するにはどうすればよいですか.
上記の Web サイトと例から使用する 2 つの data.frames を次に示します。
r - 変数の異なる値に対して sqldf を繰り返す
ちょっとしたバックグラウンド: 私は統計を通じてプログラミングを始めましたが、正式なプログラミング経験はあまりありません。物事を機能させる方法を知っているだけです。私は異なる方向からこれに来るための提案を受け入れていますが、現在、複数の sqldf クエリを使用して目的のデータを取得しています。私はもともと SAS で統計プログラミングを始めましたが、定期的に使用したものの 1 つはマクロ プログラミング機能でした。
簡単な例として、テーブル A が次のようになっているとします。
私が現在使用している選択ステートメントは次の形式です。
sqldf("SELECT AVG(A), SUM(B) FROM A WHERE DateAdded >= '2012-01-01' AND DateAdded <= '2012-01-31'")
ここで、DateAdded が 2 月にあるエントリに対して同じクエリを実行したいと思います。私の SAS での経験から、DateAdded の値に対してマクロ変数を作成します。これを (非常に遅い) for ループとして実行することを検討しましたが、R 変数を sqldf に渡す方法、またはそれが可能かどうかさえわかりません。私のテーブルでは、何年にもわたるデータに対して同じクエリを使用しています。コードを合理化する方法は大歓迎です。
r - R/sqldf/mclapply, sqldf と mclapply を一緒に使用するにはどうすればよいですか?
こんにちは、sqldf を使用してデータベースからデータを取得しようとしています。sqldf は常に tcltk をロードするため、mclapply 関数を使用できません。どうすればそれを行うことができますか?ありがとう。
ここに例があります。