参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?やあみんな、
さまざまな文字の組み合わせを持つ単語で構成される列があります(つまり、AAAAAAAAAA - 10文字の単語)。 隣接する列で 2 文字以上異なる単語を特定したいと考えています (つまり、A BああああCE AA)。 文字が異なる位置は問題ではありません。また、単語によっては、基準となる単語よりも短い場合もあれば、長い場合もあります。
したがって、参照シーケンスとの違いが 2 つ以下または 2 つ以上あり、同じ長さの単語を区別/識別できる式を実現したいと考えています。 私はまだ JMP の初心者なので、これが実現可能かどうかはわかりません。 何か提案があれば教えてください:)
高度な統計モデリング消費者および市場調査実験計画法Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?ありがとう、ジティ! うまく機能します;)
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?追加情報ありがとうございます! スクリプトインデックスから最短編集スクリプトを確認してください。

これで、遅すぎない限り、何かを行うことができるかもしれません。 Pat Match もこれを実行できるかもしれませんが、私はそれを適切に使用する方法を (まだ) 調べていません。
editList = Shortest Edit Script(:List of sequences, "FEBRUARY");
common = "";
For(i = 1, i <= N Items(editList), i++,
If(editList[i][1] == "Common",
common = common || editList[i][2]
)
);
Length(common) < Length(:List of sequences) - 2;

Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?こんにちは、クレイジさん
手伝ってくれてありがとう。 1 ~ 5e6 まであり、参照単語は 1 つだけです。 基本的に、参照単語と比較して 2 文字以上異なる単語をフィルターで除外したいので、回答としては「はい/いいえ」または「0/1」以上は必要ありません。 あなたの質問を検討してみましょう:
test = "AEIOUA" // 同一の文字列の場合は nDiff = 0
test = "AAEIOU" // nDiff = 1 - 同じ文字の場合、並べ替えられます。
- 最初の A は同じ位置にある 1 つだけです。 (5 つの異なる文字)
test = "AEIOU" // 同じ文字の場合は nDiff = 1、右側に 1 文字がありません
test = "EIOUA" // 同じ文字の nDiff = 1、左側に 1 つ欠けています
テスト = "EIOU" // nDiff = 1
テスト = "AA" // dDiff = 1
テスト = "AXA" // dDiff = 1
・AEIOUAと長さが異なります。 このために、関数 Len を適用してこれらの単語を除外しました。
test = "AXXXXA" // 長さが一致する場合は dDiff = 1
- 最初と最後の A は同じ位置に保持されます。 (4 つの異なる文字)
テスト = "AEI UO A" // 内部文字が交換される場合は dDiff = 0
AEIOUAと2文字しか違わないので基準はクリアします。
test = "AEIOUEIOU" // 文字が繰り返される場合は nDiff = 1
長いシーケンス。 レンを使用して削除します。
申し訳ありませんが、質問/問題の説明が明確ではありませんでした。 あなたの質問に加えて、私が探しているものの例を再作成しました。
| 参照配列 | 2月 |
| | |
| 配列のリスト | ラベル - 参照と 2 文字以上異なりますか? |
| 2月あUARY | いいえ |
| わあルアリー | はい |
| ヤウルベフ | はい |
| 2月R R R | いいえ |
| 2月W | いいえ |
| Y Eアウルベフ | はい |
| Y Eオーストラリアアリー | はい |
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?さらにいくつかの例が必要です。 相違点の数は何ですか (過剰に指定しないでください。重要でない部分は示してください)。
ref = "AEIOUA" // 繰り返される文字のルールを理解しようとします
test = "AEIOUA" // 同一の文字列の場合は nDiff = 0
test = "AAEIOU" // nDiff = ?同じ文字を並べ替えた場合
test = "AEIOU" // nDiff = ?同じ文字ですが、右側に 1 つありません
test = "EIOUA" // nDiff = ?同じ文字ですが、左側に 1 つ欠けています
test = "EIOU" // nDiff = ?
テスト = "AA" // dDiff = ?
テスト = "AXA" // dDiff = ?
テスト = "AXXXXA" // dDiff = ?長さを合わせるために
test = "AEIUOA" // dDiff = ?内部文字の交換用
test = "AEIOUEIOU" // nDiff = ?繰り返される手紙の場合
これらの回答は、アルゴリズムの選択に役立ちます。
~1e6 のテストワードを言いました。参照語をいくつ見ていますか?
「はい/いいえ、違いが 2 つ以上あります」以外の回答が必要ですか? 差分の数は役に立ちますか?
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?どうやら私はあなたの言っている意味を誤解していたようです」隣接する列で 2 文字以上異なる単語を特定したい」。 私が提案したのは、ソース列の各セルに 3 つ以上の異なる文字で構成される文字列が含まれる行 (つまり、参照シーケンスや文字列が存在しない) にフラグを立てることです。
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?こんにちは、Jthi さん、ご提案ありがとうございます。
正直に言うと、私はまだ公式を理解しようとしているところです:')。 私が取り組んでいるファイルには、参照単語が 1 つしかなく、位置と文字のあらゆる組み合わせで 100 万行を超えるエントリをスクリーニングする必要があります。 式でこれらの値を定義できないため、この式は機能しないと思います。 大規模なデータベース Ive を考慮してそれを適応させることは可能でしょうか?
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?こんにちは、イアンさん
フィードバックをお寄せいただきありがとうございます。 あなたが書いた式を実装しようとしましたが、参照シーケンスが AAAAAAA であり、他のものではないことをどこで定義すればよいのかわかりません。 項目選択の「」を「AAAAAAAA」に置き換えたのですが、結果が正しくありませんでした。 あなたが書いた式をアップグレードする方法について何か提案はありますか?
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?これを行うには多くの方法があります。 追加のオプションが 1 つあります。
Names Default To Here(1);
/*
a = "ABAAAACEAA";
b = "AAAAAAAAAA";
Show(!IsMissing(Substitute(a, Left(a,1), "")));
Show(!IsMissing(Substitute(b, Left(b,1), "")));
*/
New Table("Untitled 2",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"ABAAAACEAA", "AAAAAAAAAA", "BBBBAAA"})),
New Column("Column 2",
Numeric,
"Continuous",
Format("Best", 12),
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
)
);
Column1 は文字が含まれる列です
Formula(!Is Missing(Substitute(:Column 1, Left(:Column 1, 1), "")))
この単純な例のアイデアは、最初の位置から見つかった文字列内のすべての値を置換し、まだいくつかの文字が残っている場合は、文字列内に複数の文字があったことがわかります。 置換する値が複数ある場合は、置換関数の引数を変更することで同じアイデアを使用できるはずです。
Re: 参照単語と 2 文字以上異なる単語を (列内の数式を使用して) 特定するにはどうすればよいですか?まずは添付の表をご覧ください。 その中心となるのは数式列 (「決定」と呼ばれ、表の列パネルの「+」記号で示されます) です。 「+」をクリックすると、次のようになります。

これを理解するには JSL の知識が必要ですが、必要に応じて「ヘルプ > スクリプト インデックス」を使用して JSL がどのように機能するかを正確に理解できます。