問題タブ [agrep]

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

r - サブセットを作成するための最良の文字列一致によるデータフレームからの文字列変数のグループ化

国名の列を持つデータフレームがあります。それらの名前は、同じ国であっても、大文字と小文字の違い、一部の文字の欠落、一部の文字の追加、息子の追加など、異なる方法で表記されます。

したがって、それらを同様のパターン内にグループ化する必要があります。たとえば、同じカテゴリ ("Brasil","brazil") に属する 2 つの観測値があり、それらをまとめる必要があります。データフレーム全体が〜10 000の観測で構成されているため、これを手動で行うことはできません。

1 つのカテゴリで類似した観察を行った後、このカテゴリからいくつかのサブセットを作成する必要があります。

これらの類似した名前をカテゴリにグループ化し、データフレームの他の列を使用してこのカテゴリでサブセットを作成するための可能な解決策はありますか?

agrep 関数を使用しようとしましたが、成功しませんでした。

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

r - ループ内で agrepl を使用 -- 'pattern' の長さが 1 を超えており、最初の要素のみが使用されます

アーティストとアルバムのリストを調べて、各アルバムの各曲のオーディオ機能をデータ フレームに取得しようとしています (spotifyr パッケージを使用)。ただし、私のリストには、アルバム タイトルのスペル ミスがいくつかあるため、agrep または agrepl を使用してあいまい一致を試みています。

例えば:

get_artist_audio_features()spotifyrの関数は、アーティストのすべての曲のオーディオ機能を返しますが、特定のアルバムの曲だけが必要です。

これを実行すると、次のエラーが表示されます。

...argument 'pattern' has length > 1 and only the first element will be used

何か案は?どういうわけか agrepl をループする必要があることはわかっていますが、filter()関数内でそれを実装する方法、またはfilter().