問題タブ [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.
r - 文字以外のデータを含む strsplit
11 つの変数 ID1 で strsplit を実行して ID1_s1 と ID1_s2 に分割したいのですが、括弧内の文字列を削除する必要があります。
ID1_s1 と ID_s2 "(" ブラケットに基づいて ID1 を分離するために strplit を実行するにはどうすればよいですか?
次のような出力が必要です。
r - R - 一貫性のないフル ネーム形式の部分一致に基づいて 2 つのデータ ファイルをマージする
参加者の氏名の部分的な一致に基づいて、2 つのデータ ファイルをマージする方法を探しています。部分一致 (agrep や pmatch など) とデータ ファイルのマージには、いくつかの異なる関数オプションがあることは知っていますが、a) 2 つを組み合わせる方法については助けが必要です。b) ミドルネームを無視できる部分一致を行う。c) マージされたデータ ファイルに両方の元の名前形式を保存し、d) 一致しない場合でも一意の値を保持します。
たとえば、次の 2 つのデータ ファイルがあります。
ファイル名:社員データ
氏名 注文開始日 ANGELA MUIR 6/15/14 25 EILEEN COWIE 6/15/14 44 LAURA CUMMING 10/6/14 43 ELENA POPA 1/21/15 37 KAREN MACEWAN 3/15/99 39
ファイル名:評価データ
候補先行要因 SI-D SI-I アンジー ミューア I -3 12 キャロライン バーン S -5 -3 アイリーン メアリー コウィー S -5 5 エレナ ポープ C -4 7 ヘンリー ルフーブル C -5 -1 ジェニファー フォード S -3 -2 カレンMcEwan I -4 10 Laura Cumming S 0 6 Mandip Johal C -2 2 Mubarak Hussain D 6 -1
名前 (df1 のフルネームと df2 の候補) に基づいてそれらをマージしたいのですが、ミドルネーム (例: Eilen Cowie = Eileen Mary Cowie)、余分なスペース (Laura Cumming = Laura Cumming) は無視されます。スペルミス (例: Elena Popa = Elena Pope) など。
理想的な出力は次のようになります。
名前 フルネーム 候補者 開始日 注文開始 主要因 SI-D SI-I ANGELA MUIR ANGELA MUIR Angie muir 6/15/14 25 I -3 12 Caroline Burn N/A Caroline Burn N/AN/AS -5 -3 EILEEN COWIE EILEEN COWIE Eileen Mary Cowie 6/15/14 44 S -5 5 ELENA POPA ELENA POPA Elena Pope 1/21/15 37 C -4 7 Henry LeFeuvre N/A Henry LeFeuvre N/AN/AC -5 -1 Jennifer Ford N/ A Jennifer Ford N/AN/AS -3 -2 KAREN MACEWAN KAREN MACEWAN Karen McEwan 3/15/99 39 I -4 10 LAURA CUMMING LAURA CUMMING Laura Cumming 10/6/14 43 S 0 6 Mandip Johal N/A Mandip Johal N/AN/AC -2 2 ムバラク・フセイン N/A ムバラク・フセイン N/AN/AD 6 -1
どんな提案でも大歓迎です!
r - del、ins引数を使用するagrep
このコードを使用して、「abteam」と「ab」をどのように一致させることができますか?
character(0)
指定del=10
したのに、結果はins=10
です。何が問題ですか?どのように機能しagrep
ますか?
r - Rでのagrep文字列マッチング
いくつかの製品名のリストが 2 つあります。私の問題は、「オペレーティングシステム」が「システム」、「冷却システム」などと一致していることです。ただし、"Operating"、"OS" とのみ一致する必要があります。別の例として、「Key Board」は「key」または「KB」と一致させる必要がありますが、「Mother Board」または単に「Board」とは一致させないでください。
2 番目の単語よりも最初の単語を重視するにはどうすればよいですか?
私agrep()
はRで使用しました。最初の例でも「システム」と「冷却システム」に一致します。その一致を回避する方法は?
また、「キーボード」を「KB」に、「オペレーティングシステム」を「OS」に対応させる機能・方法はありますか?
前もって感謝します。
r - R: ベクトル パターンで agrep
パターンのベクトルがあり、agrep
それらを使用する必要があります。問題は、agrep
一度に 1 つのパターンしか取らないように見えることです。
結果:
for
長いパターンでは遅いため、ベクトル化された形式で実行しようとします:
lapply
などの機能が役立つかもしれませんか?ありがとう!!
r - R: agrep とのあいまい一致が遅い
パターンのベクトルと潜在的な一致候補の大きなベクトルがあります。の各要素について、で近似一致のリストを取得するためx
に使用します。問題は、コードが非常に遅いことです。 からの各要素ごとに約 2 秒かかります。agrep
y
x
Is there a way to speed it up? x
in this example is only 6 elements, but in real project x
is of length 41k. y
here is approximately 103k elements, which is close to real life.
サンプルの出力を表示する必要がある場合3300
はy
、1
前もって感謝します!
タイミング
で 1 回だけ繰り返したサンプル出力y
: