如何更改为 kable() 打印的因子水平的顺序?

How do I change the order of factor levels printed for kable()?

在我想要的输出中,红色的结果将在绿色的结果之前打印。具体来说,如何更改在 kable(或类似)中打印的因子级别的顺序 table?

var1<-sample(c("red", "green"), 100, replace=T)
var2<-rnorm(100)
df<-data.frame(var1, var2)

library(tidyverse)
library(knitr)
df %>% 
  group_by(var1) %>% 
  summarize(avg=mean(var2)) %>% 
  mutate(var1=fct_relevel(var1, "red", "green")) %>% 
  kable()

只需使用 arrangevar1

对数据框进行排序
var1<-sample(c("red", "green"), 100, replace=T)
var2<-rnorm(100)
df<-data.frame(var1, var2)

library(tidyverse)
library(knitr)
df %>% 
  group_by(var1) %>% 
  summarize(avg=mean(var2)) %>% 
  mutate(var1=fct_relevel(var1, "red", "green")) %>% 
  arrange(var1) %>% # Arranges the data frame by this variable
  kable()

|var1  |        avg|
|:-----|----------:|
|red   |  0.0999524|
|green | -0.0378017|