可以使用 "sprintf" 函数更改列的格式吗?

It is possible to change the format of a column with the "sprintf" function?

我正在使用 Rmarkdown 工具制作报告并使用 Kable 包生成 tables。

我使用 "sprintf" 函数以百分比格式携带我的结果值,到目前为止一切正常。问题是我有一个 table 带有一个我不想作为百分比的字段,但是使用该函数 table 中的所有值都转换为百分比。

我的代码是这样的:

library(kableExtra)
matrix1<-function(matriz_deriv)

z12 <- matrix(sprintf("%.2f%%",100*matrix1), 
            nrow=nrow(matrix1), 
            ncol=ncol(matrix1))

colnames(z12) <- c("Month","value")

kable(z12, "latex", caption = "Matrix1", 
            booktabs = T) %>%
kable_styling(latex_options = c("striped", "hold_position"))

代码工作正常,但我只需要将百分比应用于 "Values" 列而不是 "Month" 列,并使用 sprintf 函数将百分比应用于显示的完整矩阵个月的百分比。

你知道如何处理这个吗?

我尝试了几种替代方法,但都没有成功。我用百分比

附上矩阵结果的图像

在您要格式化的列上应用sprintf

library(kableExtra)

set.seed(123)
z12 <- matrix(c(1:12, rnorm(12, 0.5, 0.25)), ncol = 2)
colnames(z12) <- c("Month","value")

z12[,2] <- sprintf("%.2f%%", 100*z12[,2])

kable(z12, "html", caption = "Matrix1", 
      booktabs = T) %>%
  kable_styling(latex_options = c("striped", "hold_position"))