Подтвердить что ты не робот

Форматирование вывода номера 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, но для этого требуется, чтобы переменная была в формате даты. Для переменных данных, которые являются просто цифрами, относящимися к таким годам, как этот пример, существует ли простой способ форматирования вывода номера для удаления запятой? Кажется, я не могу понять, что кажется простым.

4b9b3361

Ответ 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.