問題タブ [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.

0 投票する
1 に答える
1842 参照

sql - R変数をSQL文に渡す

R で定義された変数を sqldf パッケージ内の SQL ステートメントに渡す方法はありますか?

以下のコードを実行する必要があり、'v' 変数を '$v' として sql select ステートメントに渡しました。

実行しても、間違った結果が返されます。[結果は 1000 になるはずですが、このコードは 0 を返します]。

したがって、変数値を渡さないと思います。

0 投票する
2 に答える
3441 参照

r - WHERE 句と HAVING 句を使用した sqldf の LEFT OUTER JOIN

R に 2 つのデータ フレームがあり、それらを条件付きでマージしたいと思いidますday。マージとは、right変数にマージされるleft変数が可能な限り新しい/新鮮/最新であることですが、少なくとも 3 日経過している必要があります。

rightしかし、私のidペアdateに一致するものがない場合でも、leftそれらを保持したいと思います。id私の調査には 2 つの部分があるので、完全ではないという理由だけで-のday観察を省略したくありません。

これをワンsqldfステップで実行できますか? 私の現在のアプローチには、追加のベース R が必要mergeです。

0 投票する
2 に答える
158 参照

r - sqldf 結合ステートメントで 2 つの文字ベクトルを使用できますか?

sqldf3 つの異なる data.tablesの結合を行っています。私の現在の作業コードは次のようになります。

ご覧のとおり、これは非常に大きく、私の意見では、扱いにくいコードの塊です。SpecSuitTemp または AltSuitDates の列名を少し変更すると、上記のコードが壊れます。私が望んでいたのは、列名の文字ベクトルを使用して結合を実行し、列名が変更されても問題にならないようにすることです。次のようなものです。

どこ

ただし、このステートメントは機能しません。わかりませんsqlが、同僚の多くの助けを借りて、上記の大きなステートメントを機能させることができました。

私の質問は、sqldf列名の文字ベクトルを使用して結合ステートメントを実行できますか? ステートメントを で囲む必要があるのlapplyではないかと考えていましたが、それが可能かどうかはわかりません。ヘルプ、リソース、または提案をいただければ幸いです。

私のデータの出力:

編集:期待される出力データを追加

0 投票する
3 に答える
9412 参照

r - エラー: SQLDF を使用するそのような列はありません

以下はスクリプトです

エラー メッセージが表示されます: そのような列はありません: Current.Hire.Date. しかし、この変数は 7 番目の変数としてリストされています。

私は何を間違えましたか?

0 投票する
2 に答える
103 参照

r - R - RDB スタイルでデータ フレームを結合し、複数のエントリを 1 つのフレームから別のフレームの単一のエントリに変換します (文字列)

長い投稿を前もって申し訳ありません。

forループを使用してこれをなんとか克服しましたが、sqldfの方が効率的であると感じていますが、今のところうまくいきません。

最初のデータ フレームには一意の識別子 (名前) があります。これは 1000x5 のようなものですが、この精神では:

私の 2 番目のデータ フレームには一意のキーがありません。これも 5000x5 ですが、通常は次のようになります。

各名前の色には冗長性があり、すべての名前が表示されるわけではないことに注意してください。

私の望ましい出力は次のとおりです。

  1. データ フレーム B の各名前の色を取得します (冗長性を削除します。おそらくアルファベット順にします)。

  2. これらのいくつかの色を文字列に変換します (たとえば、関数 "toString" を使用して)

  3. 最初のデータ フレームに文字列を新しいエントリとして追加します。

最初に for ループを使用したとき、このような空の列を持つ新しいデータ フレームを作成しました

.. 2 番目のデータ フレームからクエリを実行して、すべての行を反復処理します。

しかし、おそらくこれは、何か賢いものを使用する必要がないかもしれません.

最終結果は次のようになります。

助言がありますか?

0 投票する
0 に答える
567 参照

string - 共通の文字列に基づく data.table 行のマージ/折りたたみ

これは私の前の質問Merging vectors of strings in a list in Rのフォローアップです

を使用して別のアプローチを試みましたdata.table

私は次のようにdata.tableGを持っています

sd 列の要素に基づいて sdw 列の要素を集計しようとしています。

[1]、[2]、[7] はSD1共通です。したがって、対応する sdw 要素は一緒にマージする必要があります。また、[1]と[7]はSD1SD32共通です。

[4] は[3] と共通のSD345と [5] と共通のSD387を持っています。したがって、[4]、[3]、および [5] の sdw 要素は一緒にマージする必要があります。

[7] は、他のベクターと共通のSD__を持たないため、そのままにしておく必要があります。

要するに、 G$sd の重複するSD__用語に基づいて G$sdw 要素を集約したい

私が探している出力は次のとおりで、3行だけです。

data.table私は次のようにパッケージを試しました

これは、G$sd の行全体でのSD__用語の重複に基づいてのみマージできます。要素間で複数の共通用語が考慮されておらず、同じ要素が他の要素と明確な共通用語を持っていることも考慮されていません。

で目的の出力を達成する方法はありますかR。私の完全なデータセットには、そのような行が何千もあります。