問題タブ [nse]

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 に答える
507 参照

r - dplyr の enquo を使用して、sparklyr 経由で Spark テーブルの列にアクセスする

Sparkテーブルの列をジャンプしながら、コールenquo内でdplyrを使用できるようにしたいと思います。lapply

ただし、このコードを実行しようとすると、エラーが発生し続けます。

エラー(function (x, strict = TRUE) : 引数はすでに評価されています

エラーをenquo次のように分離しました。

(そして同じエラー)

エラー(function (x, strict = TRUE) : 引数はすでに評価されています

なぜenquoそのように使用できないのかを理解したいです。tbl_vars通常の文字ベクトルを返しますが、これcol_nameは文字列であってはなりませんか? 構文が次の場合と同じように機能することを想定します。

しかし、lapply 内から呼び出された場合は明らかにそうではありません。


編集

sparklyr の側面を脇に置いておくと、より良い、より再現性の高い例を提供できます。

同じエラーが発生します。

望ましい結果

古い_ベースの構文が機能します

一言で言えば、Spark テーブルの列にジャンプして同じ機能を実現したいので、 deprecated を使用したくありませんselect_

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

r - 複数の関数を運ぶ R オブジェクトの名前

S3 オブジェクトの構築に関する Hadley のアドバイスを読んで、私はヘルパー関数、コンストラクター関数、およびバリデーター関数を使用しています。簡単な再現可能な例:

結果のオブジェクトに、渡されたアイテムが持っていた元の名前の値を含めたいと思います ($x_name上記の例)。コンストラクターを直接呼び出すと、deparse(substitute(...))トリックが機能します。

しかし、ヘルパー関数を使用する場合はそうではありません:

test_helper$x_nameも戻りたい[1] "alpha"です。

deparse(substitute(...))ヘルパー段階でステップを実行する以外に、コンストラクター関数 ( )がヘルパー経由でnew_test_object()オブジェクトの「元の」名前にアクセスする方法はありますか? xまたは、ヘルパー関数がそれをコンストラクターに渡すときに、その名前が確実に通過するようにしますか?