【问题标题】:Formatting number output of sliderInput in shiny在闪亮中格式化sliderInput的数字输出
【发布时间】:2023-03-21 12:02:01
【问题描述】:

我的问题的一个很好的例子可以在闪亮画廊的电影评论示例中找到:

http://shiny.rstudio.com/gallery/movie-explorer.html

左侧面板上有一个名为“发布年份”的滑块,范围介于 1940 年和 2014 年之间。 这是来自ui.R的代码

sliderInput("year", "Year released", 1940, 2014, value = c(1970, 2014))

您会注意到,当您使用滑块时,年份的格式是:

"1,940" "2,014" 用逗号分隔第一位和后三位。

我知道可以使用 dateRangeInputin Shiny 但这需要变量采用日期格式。对于像这个例子这样简单地表示年份的数据变量,是否有一种简单的方法来格式化数字输出以删除逗号?我似乎无法弄清楚这一点,这似乎很简单。

【问题讨论】:

  • 如果您可以更新您接受的答案将会很有用,因为 format 已被弃用。

标签: r shiny


【解决方案1】:

如果使用 format 参数,更新的闪亮版本会抛出以下错误:

sliderInput 的 format 参数已弃用。使用seppre、 和post 代替。 (最后在 0.10.2.2 版本中使用)

现在首选参数显然是sep = ""

【讨论】:

  • 这是一条“消息”,而不是错误。 (无论如何,在未来的版本中,使用不推荐使用的参数最终会成为错误。)
  • 谢谢,杜海姆。我尝试了 format="####" 并且年份仍然出现“2,015”而不是“2015”。更改为 sep="" 解决了这个问题。
  • 我使用的是闪亮的 0.14,虽然 sep = "" 确实删除了逗号,但它仍然在原来的逗号处留下了明显的空白。
【解决方案2】:

注意:这个答案是为旧版本的闪亮写的。如果您使用的是 0.11 或更高版本,请参阅 @duhaime 的答案。

sliderInput 中添加format="####" 参数。这将删除逗号。

虽然多年来它没有意义,但您也可以使用format 参数来执行诸如控制小数显示方式之类的操作。# 表示应在存在时显示数字,0 表示应显示数字如果存在则显示,如果不存在则显示 0。

例如"####.00" 将显示带两位小数的数字,没有逗号,但如果不存在则不会显示千位。使用这种格式,数字 32.6 将显示为 32.60。

【讨论】:

  • 谢谢 - 仅供他人参考,当我将#### 放在引号中但不是没有引号时,这对我有用。即format="####"
  • @jalapic 抱歉,我在答案中添加了引号。
猜你喜欢
  • 1970-01-01
  • 2020-08-08
  • 2018-10-16
  • 2018-12-02
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 2020-04-06
相关资源
最近更新 更多