それぞれ2列の10個のデータフレームがあり、データフレームをa、b、c、d、e、f、g、h、i、jと呼んでいます。
各データ フレームの最初の列はシーケンスの s と呼ばれ、2 番目の列は各シーケンスに対応する p 値の p と呼ばれます。s 列には、10 個のデータ フレームすべてで同じシーケンスが含まれています。基本的に唯一の違いは p 値です。以下は、600,000 行のデータ フレーム a の短いバージョンです。
s p
gtcg 0.06
gtcgg 0.05
gggaa 0.07
cttg 0.05
各データフレームを p 値でランク付けしたい場合、最小の p 値はランク 1 になり、等しい p 値は同じランクになるはずです。各最終データ フレームは、次の形式にする必要があります。
s p_rank_a
gtcg 2
gtcgg 1
gggaa 3
cttg 1
私はこれを使って1つをしました:
r<-rank(a$p)
cbind(a$s,r)
しかし、私はループにあまり詳しくなく、これを自動的に行う方法がわかりません。最終的には、s 列があり、次の列に、特定のシーケンスごとにすべてのデータ フレームのすべてのランクのランク合計がある最終ファイルが必要です。SO基本的にこれ:
s ranksum_P_a-j
gtcg 34
gtcgg 5
gggaa 5009093
cttg 499
助けてください、ありがとう!