首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用groupBy和使用R呈现函数或Javascript中的cellInfo显示来自其他列的数据

如何使用groupBy和使用R呈现函数或Javascript中的cellInfo显示来自其他列的数据
EN

Stack Overflow用户
提问于 2022-11-06 15:39:09
回答 1查看 61关注 0票数 2

我希望将reactable的groupBy聚合与显示来自其他单元格的信息的能力结合起来。例如,我可以显示/组合来自其他列的信息,如:

代码语言:javascript
复制
library(reactable)
library(dplyr)
library(htmltools)

data <- starwars %>%
  select(character = name, height, mass, gender, homeworld, species)

reactable(
  data,
  columns = list(
    character = colDef(
      # Show species under character names
      cell = function(value, index) {
        species <- data$species[index]
        species <- if (!is.na(species)) species else "Unknown"
        div(
          div(style = "font-weight: 600", value),
          div(style = "font-size: 0.75rem", species)
        )
      }
    ),
    species = colDef(show = FALSE)
  ),
  defaultPageSize = 6
)

独立地,我可以使用groupBy参数聚合行:

代码语言:javascript
复制
reactable(
  data,
  groupBy = c("character"),
  defaultPageSize = 6
)

但当试图将两者结合起来时,事情并不像预期的那样起作用:

代码语言:javascript
复制
reactable(
  data,
  groupBy = c("character"),
  columns = list(
    character = colDef(
      # Show species under character names
      cell = function(value, index) {
        species <- data$species[index]
        species <- if (!is.na(species)) species else "Unknown"
        div(
          div(style = "font-weight: 600", value),
          div(style = "font-size: 0.75rem", species)
        )
      }
    ),
    species = colDef(show = FALSE)
  ),
  defaultPageSize = 6
)

grouped函数中有一个colDef()参数,我认为它有一个答案,但我一直无法让它工作起来。

以下是一些可能有帮助的链接:

EN

回答 1

Stack Overflow用户

发布于 2022-11-16 19:13:04

最后,我使用了以下方法:创建一个新列,将HTML格式放入列中,然后在colDef中使用colDef

代码语言:javascript
复制
library(dplyr)
library(reactable)

data <- starwars %>%
  select(character = name, height, mass, gender, homeworld, species)

data %>% 
  mutate(
    character_and_species = glue::glue("<strong>{character}</strong><br><small>{species}</small>")
  ) %>% 
  reactable(
    groupBy = c("character_and_species"),
    columns = list(
      character_and_species = colDef(html = TRUE),
      species = colDef(show = FALSE)
    ),
    defaultPageSize = 6
  )

在以下方面的成果:

仍然对其他方法感兴趣,但这实现了预期的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74337314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档