2016-02-23 2 views
-2

Если я хочу сортировать Chrom # по возрастанию (от 1 до 23) для каждого уникального идентификатора (как показано ниже, несколько строк одинаковых идентификаторов, как писать R-код для него? eg) MB-0002, хром от 1,1,1,2,4,22 ... и т. д. 1 хром в строке. Я новичок в R, поэтому любая помощь будет оценена по достоинству. Спасибо!Как отсортировать столбец по возрастанию для EACH ID в R

sample dataset

ответ

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 

FYI изображение не работает как пригодный для использования образец данных.