Как разместить информацию в таблице данных на основе ее соответствия определенным критериям? - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть таблица, которая выглядит следующим образом:

                      variant_id            transcript_id HH>0 HH0 HN>0 HN0 NN>0 NN0               tissue
       1: chr1_147517612_T_C_b38 chr1_147648412_147650142  552   0   29   0    0   0 Adipose_Subcutaneous
       2: chr1_147517612_T_C_b38 chr1_147652550_147654193  552   0   29   0    0   0 Adipose_Subcutaneous
       3: chr1_147517612_T_C_b38 chr1_147654327_147655160  552   0   29   0    0   0 Adipose_Subcutaneous
       4: chr1_147517612_T_C_b38 chr1_147659040_147659395  552   0   29   0    0   0 Adipose_Subcutaneous
       5: chr1_147517889_G_A_b38 chr1_147648412_147650142  552   0   29   0    0   0 Adipose_Subcutaneous
      ---                                                                                                
12981138:  chr9_34699703_G_C_b38   chr9_34648457_34648761  596   0   71   0    3   0          Whole_Blood
12981139:  chr9_34699703_G_C_b38   chr9_34648895_34648997  595   1   71   0    3   0          Whole_Blood
12981140:  chr9_34699703_G_C_b38   chr9_34648908_34648997  237 359   25  46    0   3          Whole_Blood
12981141:  chr9_34699703_G_C_b38   chr9_34649082_34649409  596   0   71   0    3   0          Whole_Blood
12981142:  chr9_34699703_G_C_b38   chr9_34649565_34650368  596   0   71   0    3   0          Whole_Blood

Я хотел бы построить число уникальных transcript_id значений для каждого возрастающего значения HH0, например, число уникальных transcript_id с для HH0 == 0, HH0 == 1, HH0 == 2 и др. c.

Как бы мне поступить? Буду ли я использовать ggplot? Не знаю, с чего бы мне начать.

1 Ответ

1 голос
/ 26 февраля 2020

Есть несколько других способов получить счет без data.table, например sort(table(x$transcript_id)), хотя кажется, что вы ищете метод data.table -specifi c.

Простой счет :

library(data.table)
mtDT <- as.data.table(mtcars)
mtDT[, .(n = .N), by = .(cyl, gear)]
#    cyl gear  n
# 1:   6    4  4
# 2:   4    4  8
# 3:   6    3  2
# 4:   8    3 12
# 5:   4    3  1
# 6:   4    5  2
# 7:   8    5  2
# 8:   6    5  1

По возрастанию:

mtDT[, .(n = .N), by = .(cyl, gear)][ order(n), ]
#    cyl gear  n
# 1:   4    3  1
# 2:   6    5  1
# 3:   6    3  2
# 4:   4    5  2
# 5:   8    5  2
# 6:   6    4  4
# 7:   4    4  8
# 8:   8    3 12
mtDT[, .(n = .N), by = .(cyl, gear)][ order(gear), ]
#    cyl gear  n
# 1:   6    3  2
# 2:   8    3 12
# 3:   4    3  1
# 4:   6    4  4
# 5:   4    4  8
# 6:   4    5  2
# 7:   8    5  2
# 8:   6    5  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...