こんにちは私は複雑な問題を抱えています。どのようにデータフレーム2のデータフレーム2の情報を抽出するためにデータフレーム1の各行の特定の位置を見つける
私は2つのデータフレームを持ち、df1の1つの列を条件付きでdf2と一致させたいと考えています。
Df1:
gene int start_pos end_pos tag
A 1 233 422 a1
A 2 622 766 a2
A 3 1021 1211 ab
A 4 1400 1500 b1
A 4 2000 2200 b2
B 1 122 233 a1
B 2 332 665 a2
C 1 199 433 a1
C 2 776 899 a2
df2:
Gene type pos
A shrt 680
A long 1420
B shrt 350
C long 790
「pos」情報に基づいて、これらの2つのテーブルを一致させたいと思います。
私はしたい:df2の各遺伝子についてpos(position)をチェックし、df1でその位置を見つける。たとえばdf 2 A-680の最初の行の例では、df1に遺伝子Aを見つけてから、位置680を検索し、この位置に対応する「タグ」を探したいとします。
だから最後に、私はこのように、DF1からタグ情報に基づいて、DF2に列を追加したい:
df2:
Gene type pos tag
A shrt 680 a2
A long 1420 b1
B shrt 350 a2
C long 790 a2
は、私がこれを行うには、任意の解決策を見つけることができませんでした。私はユニークな識別子を作ることができないので、マージは機能しません。私は一致機能を持つ解決策も見つけられませんでした。
注:df1は基本的に参考データです。 df2のすべての位置はdf1の開始と停止の間にあります。私はdf1の各位置のタグ情報を探したい。
私は立ち往生しています。どんな助けも素晴らしいだろう。
ありがとうございました!
ありがとうございます!これは私の問題を解決しました。私はこのソリューションを 'dataframe'の代わりに2つの 'list'で使用しました。これは(df1とdf2の2つのcsvファイルをインポートするためにリストされたものです) – AGG
列の名前を変更する代わりに、by.xとby.yを使用して、Rにこれらの2つの列を使用して一致させることができます – Kou