Форматирование вывода номера sliderInput в блестящем
Хороший пример моего вопроса можно найти в примере просмотра фильма в галерее Shiny:
http://shiny.rstudio.com/gallery/movie-explorer.html
На левой панели находится слайдер под названием "Year Released", который находится между 1940 и 2014 годами.
Вот код для него из ui.R
sliderInput("year", "Year released", 1940, 2014, value = c(1970, 2014))
Вы заметите, что форматирование лет, когда вы используете слайдер, имеет форму:
"1,940" "2,014"
с запятой, разделяющей первую цифру из последних трех.
Я знаю, что в Shiny можно использовать dateRangeInput
, но для этого требуется, чтобы переменная была в формате даты. Для переменных данных, которые являются просто цифрами, относящимися к таким годам, как этот пример, существует ли простой способ форматирования вывода номера для удаления запятой? Кажется, я не могу понять, что кажется простым.
Ответы
Ответ 1
В более поздних версиях блестящей версии вы получите следующую ошибку, если вы используете аргумент format
:
Аргумент format
для sliderInput устарел. Используйте sep
, pre
, и post
. (Последнее используется в версии 0.10.2.2)
Теперь предпочтительный аргумент, очевидно, sep = ""
Ответ 2
ПРИМЕЧАНИЕ: Этот ответ был написан для более старых версий блестящих. Если вы используете версию 0.11 или выше, обратитесь к ответу @duhaime.
В sliderInput
добавьте аргумент format="####"
. Это приведет к удалению запятой.
В то время как это не имело смысла в течение многих лет, вы также можете использовать аргумент format
для выполнения таких действий, как управление отображением десятичных знаков. #
указывает, что число должно отображаться, если присутствует, и 0
указывает число, которое должно если он присутствует, и будет отображаться 0, если он отсутствует.
Например, "####.00"
будет показывать номер с двумя десятичными знаками, без запятой, но не будет показывать тысячи мест, если их там нет. В этом формате число 32.6 будет выглядеть как 32.60.