У меня вопрос по поводу reactable
в R
. У меня есть сгруппированный df, где были сделаны вычисления сома, например, относительные числа и суммы. Насколько я понимаю, можно сгруппировать reactable
, используя встроенные функции max, mean et c. Вместо этого я хотел бы отобразить строки с именем show_top
вместо, например, colDef(aggregate = "max")
.
Я заметил, что вы можете создать свою собственную JS функцию . К сожалению, у меня нет опыта в JS.
colDef(
aggregate = JS("
function(values, rows) {
// input:
// - values: an array of all values in the group
// - rows: an array of row info objects for all rows in the group
//
// output:
// - an aggregated value, e.g. a comma-separated list
return values.join(', ')
}
")
)
Пожалуйста, посмотрите ниже, чего бы я хотел достичь.
reactable(xy, groupBy = "col1")
structure(list(col1 = c("A", "B", "Tot", "A", "A", "A", "B",
"B", "B", "Tot", "Tot", "Tot"), col2 = c("show_top", "show_top",
"show_top", "Type1", "Type2", "Type3", "Type1", "Type2", "Type3",
"Type1", "Type2", "Type3"), inc = c(" 9.4 (38.7%)", "14.9 (61.3%)",
"24.2 (100%)", " 3.7 (39.5%)", " 3.3 (35%)", " 2.4 (25.5%)",
" 2.3 (15.2%)", " 4.6 (31%)", " 8.0 (53.8%)", " 6.0 (100%)",
" 7.9 (100%)", "10.4 (100%)"), out = c(" 6.0 (39.6%)", " 9.1 (60.4%)",
"15.1 (100%)", " 2.3 (38.7%)", " 2.1 (35.4%)", " 1.6 (25.9%)",
" 0.7 (7.3%)", " 2.0 (21.5%)", " 6.5 (71.2%)", " 3.0 (100%)",
" 4.1 (100%)", " 8.1 (100%)"), rel = c(0.638870535709061, 0.61502998385249,
0.624251237892968, 0.626302127121007, 0.645747052829909, 0.648875413897266,
0.296450202443903, 0.42683196642126, 0.813283715858821, 0.501288831579585,
0.517981542096351, 0.775466939167642), rp = c(49.8379387690741,
59.4422025881411, 55.229126405081, 46.132952162477, 51.5764509819408,
53.8145905581141, 14.8399070194007, 32.048326903348, 137.425346172314,
31.3269996331764, 39.887561604669, 105.790396392544)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -12L))