私は2つの行列を持ち、1つはindex
行列(ncol = 1、nrow = 20,000)で、検索したい値を格納し、もう1つの行列はdata
行列で、大きなデータセットを格納します(ncol = 1、nrow = 5,000)。行列を検索して複数の値を検索し、行名を返す方法
index
マトリックス:(water
、meat
、gas
....行名)
water DFAFADFADF
meat QEREQRQTQTQ
gas FEQQFQEFQF
.
.
.
..
data
マトリックス:
(Tom
、
Luis
、
Jerry
、
Vincent
、
Richard
...列名)
Tom dfqfqfAFADFADaveffefd
Luis eqeqfqefAFADFADuouojoimoij
Jerry dafadfe3321AFADFADfdeff
Vincent e31413413qeffffff
Richard 121eefq3ffAFADFADfffqffqff
.
.
.
..
index
の各値、01のどの行を検索したいですか?行列の文字列をCONTAIN(S)に変換し、そのdata
の行列の行名を記録し、index
行列内のその文字列の次の列(または単一の列で区切りますが、 "、"で区切った列)に入れます。
たとえば、インデックス行列から値を取り出し、データ行列のどの行がこの文字列を含んでいるかを検索すると、トム、ルイス、ジェリー、リチャードがdata
の行列に含まれています
water DFAFADFADF Tom, Luis, Jerry, Richard
meat QEREQRQTQTQ
gas FEQQFQEFQF
.
.
.
..
そして私は再びdata
行列を検索するために、index
マトリックス、QEREQRQTQTQ
に次の値を取る:文字列なので、私は
index
行列であることをindex
行列を更新しますindex
行列の最後の行が終了するまで、index
行列を再度更新してください。
ループを手助けする人はいますか?私たちはfor (....)
を使ってループが必要かもしれないと思いますが、どうすればよいか分かりません。
あなたは '%中%'や 'match' – akrun
を使用することができます。例をお願いできますか?どうもありがとう!私はこれに完全にナイーブです... –