SPARTINES în tabele reactabile | R-BLOGGERS

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Acesta este cel de -al doilea blog dintr -o serie despre pachetul {Sparkline} R pentru vizualizările de date inline. Puteți citi primul aici. În această postare voi demonstra cum puteți include Sparklines în tabelele HTML.

Reactabil

{Reactable} este un pachet R pentru producerea tabelelor HTML, utilizate în mod obișnuit în strălucire.

Pentru a crea un tabel reactabil HTML Tot ce trebuie să facem este să introduceți un obiect de date.frame la reactable
funcţie. Aceste tabele au un aspect simplu implicit simplu, dar putem adăuga și propriile stiluri foarte ușor. În primul nostru exemplu de tabel, folosesc doar în r construit R construit iris set de date.

library(reactable)

reactable(iris)

Câteva lucruri care pot fi adăugate cu ușurință la tabelele reactabile sunt filtre, coloane sortabile, coloane căutabile, dimensiune implicită a paginii, borduri și ambalare cu dungi și text. Alături de aceste argumente, putem implementa desigur propriul stil cu CSS.

reactable(
 iris,
 striped = TRUE, searchable = TRUE,
 filterable = TRUE, bordered = TRUE,
 defaultPageSize = 8
)

SPILIELE ÎN TABLIE REACTABILE

Graficele de cutie, linie și bare

Când vine vorba de încorporarea scânteilor în tabele reactabile, trebuie să adăugăm o nouă coloană la tabelul nostru, pe care apoi îl vom suprascrie în columns
argument despre reactable.

În primul exemplu, folosesc un set de date batjocoritor cu 3 observații „X”, „Y” și „Z”, fiecare este doar o listă care conține 10 valori generate de
rnorm. Atunci folosesc dplyr’s mutate Funcție pentru a adăuga o coloană plină de valori NA.

Acum, pe partea reactabilă, folosesc din nou reactable funcție, unde folosesc columns Argument care ia o „listă numită de definiții ale coloanelor”. Pentru fiecare linie de scânteie diferită, va trebui să folosesc colDef
Pentru a adăuga o funcție care ia un argument de valoare și index. Folosesc apoi funcția Sparkline și trec data$values((index)) împreună cu type
Pentru a stabili ce grafic mi -aș dori. Puteți seta preferințe de coloană în
colDefL -am folosit aici pentru a ascunde values coloană.

library(sparkline)
library(dplyr)

data = tibble(
 names = c("x", "y", "z"),
 values = c(list(rnorm(10)), list(rnorm(10)), list(rnorm(10)))
 ) |>
 mutate(box = NA,
 line = NA,
 bar = NA)

table = reactable(data,
 columns = list(
 values = colDef(show = FALSE),
 box = colDef(cell = function(value, index) {
 sparkline(data$values((index)), type = "box")
 }),
 line = colDef(cell = function(value, index) {
 sparkline(data$values((index)), type = "line")
 }),
 bar = colDef(cell = function(value, index) {
 sparkline(data$values((index)), type = "bar")
 })
 )
 )

Grafic de gloanțe

În exemplul nostru final, folosesc din nou iris Date, dar de data aceasta creez un rezumat pentru fiecare specie care conține media și inter-quartile (IQR) a coloanei sepale.length. Aceste valori vor fi utilizate pentru a crea un grafic de glonț. Într-un grafic cu glonț, este prezentată o valoare observată („performanța”) cu o valoare țintă și o ilustrare a datelor de dispreț (aici IQR) este prezentată. Într -un anumit rând al cifrei, valoarea sepalului. Lățimea pentru un iris specific va fi prezentată ca performanță; Ținta cu care este comparată acest lucru este media pentru speciile relevante, IQR mai mic va fi intervalul1 și IQR mai mare va fi Range2.

Apoi, atunci când creăm tabelul nostru reactabil, este ușor diferit de exemplul nostru anterior (unde trec doar o listă de valori către funcția Sparkline), pentru un grafic de glonț, va trebui să trec într -un vector în formă c(target, performance, range1, range2). Pot accesa apoi valorile prin intermediul d$ (sau o altă formă de extracție) și specificați cu ce rând am nevoie ((index)).

d = iris |>
 group_by(.data$Species) |>
 mutate(mean = mean(.data$Sepal.Length),
 lower_range = range(.data$Sepal.Length)(1),
 upper_range = range(.data$Sepal.Length)(2),
 bullet = NA)

iris_table = reactable(d, defaultColDef = colDef(show = FALSE),
 columns = list(
 Species = colDef(show = TRUE),
 Sepal.Length = colDef(show = TRUE),
 bullet = colDef(cell = function(value, index) {
 sparkline(c(d$mean((index)),
 d$Sepal.Length((index)),
 d$upper_range((index)),
 d$lower_range((index))), type = "bullet")
 }, show = TRUE)
 ))

În acest blog am implementat graficele de bare, bare, linie și glonț în tabele reactabile. Alte opțiuni pot fi găsite pe site -ul JQuery Sparklines sau pe blogul anterior. Rămâneți la curent cu următorul blog din această serie despre utilizarea tabelelor Reactable Sparkline în aplicații strălucitoare.

Pentru actualizări și revizii la acest articol, consultați postarea originală

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.