【发布时间】:2013-03-21 08:39:00
【问题描述】:
我有 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
cbind(a$s,r)
但我对循环不是很熟悉,也不知道如何自动执行此操作。最终,我想要一个具有 s 列的最终文件,在下一列中是每个特定序列的所有数据帧中所有等级的等级总和。 所以基本上是这样的:
s ranksum_P_a-j
gtcg 34
gtcgg 5
gggaa 5009093
cttg 499
请帮忙,谢谢!
【问题讨论】:
-
gggaa的排名不应该是 4 而不是 3?
标签: r sum ranking data-manipulation