Я пытаюсь отобразить таблицу в Shiny, где числа будут отображаться из одного data.frame (или data.table), но размер столбцов будет взят из другого data.frame. Например, будут отображаться абсолютные значения, но -log (p-значения) из другой таблицы (в таком же порядке) будет определять ширину цветных полос.
Это мой фиктивный код:
output$pivot_table = DT::renderDataTable(
dt <- datatable(
{
a <- data.frame(matrix(1, 20, 5))
pval_data <- data.frame(matrix(rnorm(n = 100), 20, byrow = T))
print(pval_data)
a
}
) %>% formatStyle(names(a),
background = styleColorBar(range(pval_data), 'lightblue'),
backgroundSize = '98% 88%',
backgroundRepeat = 'no-repeat',
backgroundPosition = 'center')
)
напечатано pval_data
:
X1 X2 X3 X4 X5
1 0.968418606 -1.87152557 0.61937740 -0.143097511 0.65508855
2 -0.007557229 0.08118509 0.15390863 1.375011375 0.52879595
3 -0.310230367 0.24825819 -0.61521934 0.994227019 0.99756573
4 -0.347770895 -0.91282709 0.79575280 0.234287011 -1.24957553
5 1.699646126 -0.22895201 0.15979995 0.223626312 -1.61600316
6 -0.490930813 0.32298741 -0.81244643 0.474731264 0.09482891
7 -1.118480311 0.42816708 -1.60837688 0.923083220 -0.18504939
8 -0.613107600 0.85641186 0.50027453 -0.682282617 0.78146768
9 -1.191377934 -0.65435824 1.18932459 -0.698629523 -0.06541897
10 -1.149737780 2.47072440 -0.06468906 -0.150334405 1.23995530
11 0.877889198 -0.58012128 0.69443433 2.180587121 -1.32090173
12 -0.323477829 -1.46837648 1.38017226 -1.223060038 1.92034573
13 -1.016861096 -0.62798484 0.22159954 -1.601450990 -0.25184806
14 0.392432490 -0.42233004 -0.64490950 -1.491724171 -0.71931626
15 -1.270341425 0.79922671 0.82034852 -0.109127778 -0.73276775
16 0.713192323 1.01199542 1.08499699 0.328685928 0.98869534
17 -1.491903472 -0.40431848 0.47478220 -1.856996096 1.67946815
18 -0.089676087 -1.16068035 -0.69258182 -0.002303751 -1.39804362
19 0.504820216 0.88694633 -0.52855791 0.330452562 -1.57425961
20 0.899474044 -0.41477379 -0.34950206 -0.062604686 2.26622730
Моя таблица теперь выглядит так:
Вместо этого я хочу, чтобы столбцы были пропорциональны pval_data, как это (но с единицами вместо чисел pval_data в таблице):
Спасибо!
P.S. Другой вопрос: если бы я хотел, чтобы цвета были условными, например, если бы я хотел, чтобы цвет стал красным, если соответствующий pval ниже N, как бы я это сделал?