我有 10 个数据框,每个数据框有 2 列,我将数据框称为 a、b、c、d、e、f、g、h、i 和 j。
每个数据帧中的第一列称为 s 用于序列,第二列称为 p 用于对应于每个序列的 p 值。s 列包含所有 10 个数据帧的相同序列,本质上唯一的区别在于 p 值。下面是数据框 a 的简短版本,它有 600,000 行。
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
我用它来做一个:
r<-rank(a$p)
cbind(a$s,r)
但我对循环不是很熟悉,也不知道如何自动执行此操作。最终,我想要一个具有 s 列的最终文件,在下一列中是每个特定序列的所有数据帧中所有等级的等级总和。所以基本上是这样的:
s ranksum_P_a-j
gtcg 34
gtcgg 5
gggaa 5009093
cttg 499
请帮忙,谢谢!