問題タブ [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 に答える
822 参照

r - R 複数のあいまい一致 agrep 変数を作成

R は初めてです。変数 (yes/no) を作成して、姓または名のあいまい一致が電子メール アドレスに一致するかどうかを確認するテストを作成したいと思います。その場合は、その行に「はい」変数を追加します。

データ例:

agrep を使用する必要があることを理解しています。私を混乱させるのは、R に 2 つの列 (名と姓) をチェックし、その行内のみをチェックするように指示する方法です。

ありがとう - 初心者

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

linux - 同意するためのより速い方法は?すべての文字の不一致をすばやく見つける

大きなファイル内のすべての単語間ですべての文字の不一致を見つける最速の方法を探しています。私がこれを持っている場合:

私はこのようなものを取得したいと思います:

現在、私は agrep を使用していますが、私のファイルは数百万行の長さであり、非常に遅いです。各単語はそれぞれの行にあり、すべて同じ文字数です。私が見つけられなかったエレガントなものがあると思います。ありがとうございました

編集: 単語は、ATCG または N の 5 文字だけで構成されており、長さは 100 文字弱です。全体がメモリに収まる必要があります(<5GB)。1 行に 1 つの単語があり、それを他のすべての単語と比較したいと思います。

Edit2: 例が正しくありませんでした。現在は修正されています。

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

python - R / Pythonで共通の列(単語ごと)を持つ2つのデータフレームの部分一致

df1より多くの行がある csv ファイルとして 2 つのデータフレームがありますdf2

Df1

Df2

最初の 2 語または 3 語のいずれかに一致する部分一致 (近似/あいまい一致) を実行したいと考えています。基本的に、出力は次のようになります。

出力:

完全一致を試みると、一部の行が欠落しています。Rで試してみましagrepたが、どういうわけか機能せず、ファジーマッチングが非常に遅いです。Rまたはpythonでこれを行う方法を教えてください。どんな助けでも大歓迎です!

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

r - 変数内の名前を連続的に agrep し、最も近い名前で新しい変数を作成

名前がさまざまな形式である会社名の文字ベクトルを想定します。これは、10,000 行のデータ フレームの小さなバージョンです。目的の 2 番目のベクトル ("two.names") が表示されます。

ベクトルが会社名のアルファベット順にソートされていると仮定します (これにより、最も短いバージョンが最初に表示されると思います)。agrep()最初の会社名から始めて、それを 2 番目の会社名と一致させ、そして (ほぼ一致すると仮定して) 最初の会社名を両方の新しい列 (short.name) に追加するにはどうすればよいでしょうか。次に、それを 3 番目の要素と一致させます。すべての Carlson バリエーションが一致します。

R が最初の Carmody に遭遇したときのように、十分な一致がない場合は、最初からやり直して次の要素に一致し、次の不一致まで繰り返します。

連続する企業間に一致がない場合、R は一致が見つかるまで続行する必要があります。

この質問に対する答えは、ベクトル全体と年ごとのグループに対してファジー マッチングを使用します。 名前のあいまい一致によって一意の ID を作成します (R を使用した agrep 経由) 。しかし、私の問題を解決するコードの一部を提供しているようです。この質問ではstringdist(). 文字列距離

編集:

以下、オブジェクトmatchesは一致を示すリストですが、R に「最初の一致を取り、次の一致があればその名前に変換し、その名前を新しい変数列に入れる」ように指示するコードがわかりません。 "

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

regex - 特定の長さのデータフレームの列を、一致する特定のキーワードを持つ別のベクトルと一致させるにはどうすればよいですか?

私のデータフレームExpensesは以下のとおりです:

以前に、 name列から繰り返しの名前とパターンの存在を特定し、それをベクトルに格納しましたNameVector。それは以下に示すとおりです。

私の質問は、どのようにすべての文字列パターンをExpenses$nameベクトルNameVectorと一致させ、メイン データ フレームにカテゴリ別に出力するかです。

名前のさまざまな部分をさまざまな列に取得し、name使用してパターンを一致させるために、可能なすべての区切り記号 (スペース、|、*、コンマなど) で列を分割しようとしましたが、目的の出力が得られません。データをさらに詳しく調べると、先頭に空白があることに気付き、それらを取り除きましたが、上記のように出力が得られない理由はまだわかりません。strsplit()agrep()


上記のテーブルの csv:

および計算された/識別された名前ベクトル

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

r - agrep マッチングはどのように機能しますか?

agrep 関数は不可解な結果をもたらします。その動作をよりよく理解したいと思います。例えば:

戻り値: [1] "abc" "abcde" "abcef"

しかし、「abcd」と「abcef」の間の距離は 2 です。したがって、3 番目の一致が表示される理由がわかりません。

また、距離の上限が 0 に設定されている場合、関数は完全一致のみを返すと仮定します。

しかし、私[1] "abcde"はマッチとして得ます

誰かが agrep でのマッチングがどのように機能するかを説明できれば、本当に役に立ちます。