問題タブ [fuzzyjoin]

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

r - 完全に一致しない (間隔内で一致する) 既存の data.table に値を結合する

data.table(DT1)に、減少するカウント (たとえばpol_count) の列と、人口の平均年齢 (たとえばAverageAge) の別の列があります。pol_count値(たとえば 400) と値(たとえば 85)を取り、AverageAgeそれらを というテーブル内の間隔に一致させようとしていますFactorFile

ここに垣間見ることができFactorFileます:

この例でpol_countは、100 より大きいので、3 番目の列の ( Months) 値 12が返され、 AverageAge86 より小さいが 84 より大きいので 20 が返されます。次に、最大値を取るために別の列が必要なので、最終的な答えは 20 です。 、 Factor65% である 20 に関連付けられた列。

完全一致を使用せずにテーブルに参加する方法がわかりません。基本的に、最後の引数が TRUE の VLOOKUP が必要で、指定されたルックアップ値に最も近い値を取得します。

パッケージを使用してみましたfuzzyjoin。ここに私の声明があります。実行されますが、data.table には何も起こらないようです:

fuzzyjoin を正しく使用する方法、またはこの結合を実現する簡単な方法に関するヒントはありますか? 要約すると、DT1 で 2 つの列を取り、FactorFile で結合することにより、Months 列と Factor 列の両方を DT1 に返そうとしています。

ありがとう!