У меня есть кадр данных в R dat
, который содержит столбцы Gene
, Expression
и SampleID
.Я отсортировал dat
так, чтобы он сгруппировался по Gene
и упорядочился по убыванию Expression
для каждого гена, используя следующее:
dat_sorted <- dat %>% select(Gene, Expression, SampleID) %>%
group_by(Gene) %>%
arrange(Gene, desc(Expression))
Что я сейчас хочу сделать, это добавитьстолбец Rank
для dat_sorted
, который будет применять ранг в каждой группе Gene
на основе значения Expression
, так что для данного гена данный образец будет иметь более высокий ранг, если его экспрессия выше.
Вот пример того, как должен выглядеть результат:
Gene Expression Sample Rank
ENSG00000000003 2.81561500 HSB671 1
ENSG00000000003 2.79336700 HSB431 2
ENSG00000000003 2.40009100 HSB618 3
ENSG00000000938 1.75148448 HSB671 1
ENSG00000000938 1.52182467 HSB670 2
ENSG00000000938 0.83478860 HSB414 3
ENSG00000000938 0.62174432 HSB459 4