P粉6654279882023-08-15 13:04:29
一种选择是在将数据传递给reactable
之前,根据type
重新排列(不确定为什么这对您不起作用)。
注意:我通过只保留iris
中的Species
列和每个Species
四行来简化了示例数据。
library(reactable) library(dplyr) species <- c("setosa", "versicolor") df <- iris[c(1:4, 51:54), ] %> select(Species) %> filter(Species %in% species) numbers <- c(100, 300, 400, 50) type <- rep(numbers, times = 2) df1 <- df %>% mutate(type = type) df2 <- df1 %> mutate(species_type = case_when( Species == "setosa" ~ paste0(Species, ": ", type), Species == "versicolor" ~ paste0(type, ": ", Species), TRUE ~ Species )) columns <- list(colDef(minWidth = 140), colDef(align = "center")) columns <- setNames(columns, names(df2)[2:3]) df2 %> arrange(type) %> reactable(, columns = columns)
第二种选择是使用defaultSorted
参数按type
排序:
reactable(df2, columns = columns, defaultSorted = "type")