如何在R

时间:2016-02-23 21:19:34

标签: r

如果我想为每个唯一ID按升序(1到23)排序Chrom#(如下图所示,有多行相同的ID,如何为它编写R代码?例如)MB-0002,chrom从1,1,1,2,4,22 ...等每行1铬。我是R的新手,所以任何帮助都将不胜感激。非常感谢!

sample dataset

1 个答案:

答案 0 :(得分:0)

如果您可以使用dplyr::arrange,那么您可以轻松地按两个变量排序。

tmp <- data.frame(id=c("a","a","b","a","b","c","a","b","c"), 
                  value=c(3,2,4,1,2,1,7,4,3))
tmp
#    id value
#  1  a     3
#  2  a     2
#  3  b     4
#  4  a     1
#  5  b     2
#  6  c     1
#  7  a     7
#  8  b     4
#  9  c     3

library(dplyr)
tmp %>% arrange(id, value)
#   id value
# 1  a     1
# 2  a     2
# 3  a     3
# 4  a     7
# 5  b     2
# 6  b     4
# 7  b     4
# 8  c     1
# 9  c     3

仅供参考,图像不能作为可用的样本数据集使用。