私は大量のデータセット(1000万)でRで作業しており、特定の基準に基づいて各パスワードに値を割り当てたいと考えています。それがすべて小文字か大文字であれば26、すべて数字、10、大文字小文字の混同、52、すべての句読点、31などなどです。もちろん、各パスワードがどのグループに属するかを特定することはもちろんです。正規表現とif文の簡略化
私は、これを達成するためにネストされたif-statmentsとregexを使うことができますが、信じられないほど乱雑になります。私はプログラミングには比較的新しいので、これを達成するためのよりよい方法を理解することはできません。
私はforループを使用してすべてのパスワードを実行できると考えていますが、これを行う可能性は高くなりますが、ループ内でネストされたif文の必要性がなくなります。私は正規表現/ IFSで立ち往生している場合、私のコードはどのように見えるか
:
ifelse((grepl("[0-9]", most_repeated_pass)),10,
ifelse((grepl("[a-z]", most_repeated_pass)),26,
ifelse((grepl("[A-Z]", most_repeated_pass)),26, 0)))
ようになど。上記はforループの中にあります。
もっと良い方法が必要です。正しい方向に向いているだけでも、とても感謝しています。
あなたはおそらく、各文字型の存在を示す基本的なブール一連の変数にこれを打破することができます。次に、それらの相互作用を探すことができます。大文字 '[A-Z]'、小文字 '[a-z]'、句読点 '[[:punct:]] 'のように、なんでも。それぞれの変数を 'interaction(...)'に入れ、適切にラベルを付けます。 – thelatemail
3番目のifelseは2番目のifelseに合体する可能性があります。 – Hugh