問題タブ [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.
sql - PROC SQL と sqldf の違い
私は、通常使用する SAS プログラムを R に書き直している最中です。SAS プログラムの多くのステートメントは proc sql で記述されているため、プログラミングを容易にするために、R で sqldf を使用してこれらのステートメントを複製しています。すべての SQL コード次のステートメントを除いて、SAS と同じように sqldf で機能します。
SAS:
sqldf:
SAS では、1878 行のデータセットを返します。sqldf では、1375 のデータフレーム。
これを引き起こしている可能性がある、または一般的に考慮する必要があるproc sqlとsqldfの間に大きな違いはありますか? 1) データセットが膨大であり、2) 2 つの SQL システムの違いを知りたいという理由から、データを提供しませんでした。
r - Linuxにsqldfをインストールできません
LinuxでRバージョン2.14.1を実行しています。sqldfをインストールしようとすると
install.packages(sqldf, dependencies=TRUE)
次のエラーが発生します:(これらのエラーにより、Rcmdr UIを使用する場合と同様に、ターミナルからコマンドが実行されます)
同様の問題を抱えている人を見つけることができないようです。Windows PCでinstallコマンドを実行すると、問題なくインストールされます。
sql - Rのテーブル内の行をすばやく選択する方法は?
さらに大きなテーブルから多数の行を抽出するための高速な方法を探しています。私のテーブルの一番上は次のとおりです。
そして寸法:
リストに行名が含まれている行を選択したい:
当然のことながら、これを行う簡単な方法にはかなり長い時間temptable = dbsnp[features,]
がかかります。
私はRのsqldfパッケージを介してこれを行う方法を検討してきました。それはもっと速いかもしれないと思いました。残念ながら、SQLで特定の行名を持つ行を選択する方法がわかりません。
ありがとう。
r - リスト内のSQLクエリデータフレーム
与えられたデータフレーム
リストに保存されます
これらのデータフレームでsqldfクエリ(結合)を実行するにはどうすればよいですか?
失敗した試行:
r - sqldf を使用して巨大な csv ファイルを R に読み込むことはできますが、sqlite ファイルは 2 倍のスペースを必要とし、「バキューム」が必要です。
読んでみると、メモリを超える csv ファイルを読み取る最良の方法はread.csv.sql
from packageを使用することであることがわかりましたsqldf
。この関数は、データを sqlite データベースに直接読み込み、結果として sql ステートメントを実行します。
次のことに気付きました: sqlite に読み込まれたデータは一時テーブルに格納されているようです。そのため、将来の使用のためにアクセスできるようにするには、sql ステートメントでそのように要求する必要があります。
例として、次のコードはいくつかのサンプル データを sqlite に読み込みます。
でデータにアクセスできますsqldf("select * from data limit 5", dbname = "sample_db")
。
問題は次のとおりです: sqlite ファイルは本来の 2 倍のスペースを占有します。私の推測では、データが 2 回含まれていると思います。1 回は一時的な読み取り用で、もう 1 回は格納されたテーブル用です。でデータベースをクリーンアップできますsqldf("vacuum", dbname = "sample_db")
。これにより空きスペースが再利用されますが、特にファイルが大きい場合は時間がかかります。
初めてこのデータの重複を作成しない、これに対するより良い解決策はありますか?
r - R のメモリ割り当てエラー
Rでデータフレームを作成するためにsqldfパッケージを使用してRでSQLクエリを実行していますが、エラーがスローされています:
同様の問題でさまざまなスレッドを調べましたが、適切な答えが見つかりませんでした。
誰でもこれについて私を助けてください。
32 GB RAM を搭載した 64 ビット Linux マシンで R 2.15.1 バージョンを使用しています。
r - グループで最初の行を選択します
このようなデータフレームから
各ID/文字列ペアの最初の行で新しいものを作成したいと思います。sqldfがその中のRコードを受け入れた場合、クエリは次のようになります。
次のような新しい列を作成する以外の解決策はありますか
min(row)で同じsqldfクエリを実行しますか?
r - R sqldfは数値属性を文字に強制します
次のsqldfがあります:
lengthI を数値として取得することを期待していましたが、どういうわけか文字 ("2", "1", ) として取得しました
私の質問は次のとおりです。1. sqldf が期待どおりに数値変数を生成しなかったのはなぜですか? 2. sqldf で lengthI の型を強制する方法はありますか?
どうもありがとう。
r - 空のコンマを含むread.csv.sql
ヘッダーが固定されたcsvファイルがあります。ただし、空のコンマを使用すると、一部の列値が欠落する可能性があります。これにより、read.csv.sqlに問題が発生します。この関数のパラメーターがありませんか?null / NAを読み取ることを期待しています-回避策はありますか?
サンプルファイルの内容-
日、car1、car2
1、bmw、audi
2、merc、bmw
3、、アウディ
4 、、
このエラーが発生します-
scan(file、what、nmax、sep、dec、quote、skip、nlines、na.strings、:行1に45個の要素がありませんでした
r - sqldf ステートメントの行削除構文エラー?
スタックオーバーフローの専門家の皆様、こんにちは。
次のようなarテーブルの行を削除するためにsqldfを使用しようとしています:
私の目標は、次のように数式列に「SI」が表示される行を削除することです。
私はsqldfステートメントを試しました:
しかし、もちろん、「Si」だけの行はないので、うまくいきません。私は sqldf の初心者ですが、これはおそらく構文のエラーであると思われます。ウェブで検索しましたが、例が見つかりませんでした。
なにか提案を?これはsqldfでも可能ですか?
乾杯、
フランシスコ