R 如何在闪亮的可渲染文件中自定义数字列的格式?

R 如何在闪亮的可渲染文件中自定义数字列的格式?,r,shiny,format,R,Shiny,Format,我想自定义表格中数字列的格式。我想要科学格式的p值,以及其他0或2位小数的数字列。我该怎么做?我试过了 output$addtable <- renderTable({ ...} , digits = -2) 既然你提到了科学,我就想到: df = data.frame(P = 1e-6, Rest = 1e-6) df$P <- format(df$P, scientific = FALSE) df$Rest <- format(df$Rest, scientific =

我想自定义表格中数字列的格式。我想要科学格式的p值,以及其他0或2位小数的数字列。我该怎么做?我试过了

output$addtable <- renderTable({ ...} , digits = -2)

既然你提到了科学,我就想到:

df = data.frame(P = 1e-6, Rest = 1e-6)
df$P <- format(df$P, scientific = FALSE)
df$Rest <- format(df$Rest, scientific = TRUE)
df=data.frame(P=1e-6,Rest=1e-6)
df$P

尝试添加:

  d$P <- sprintf("%7.2e",d$P)
  d$MinP <- sprintf("%7.2e",d$MinP)

d$P当我想要完全控制时,我通常使用
sprintf
将它们全部转换为字符。其他任何东西都是不可靠的。有时我甚至有一个完全独立的数据框只是为了显示。例如,
ggplot
就是这样做的。谢谢,
sprintf
工作得很好!既然你提到了scientific:另一种选择是
格式(…,scientific=TRUE)
,…介意我写出来,你接受吗?有没有办法为列列表/格式列表这样做?我有一个大表,希望避免逐行格式化每个变量。是否使用
sapply
?我不确定我真的明白你想要什么。我会尝试一些东西,如果你不能让它工作,就把它作为一个问题发布到你的例子中。如果我们希望避免修改原始表中的列,我们是否需要像OP的问题中那样克隆表?我想我已经读过R是在修改时复制的,但是data.tables更像是通过引用传递的?
df = data.frame(P = 1e-6, Rest = 1e-6)
df$P <- format(df$P, scientific = FALSE)
df$Rest <- format(df$Rest, scientific = TRUE)
  d$P <- sprintf("%7.2e",d$P)
  d$MinP <- sprintf("%7.2e",d$MinP)