我在Shiny中创建了一些单选按钮;但是,我想知道是否有办法让返回的值为整数,而不是字符。
想要整数出现在用于选择性别的RadioButton的背景下。
当我这样做时:
radioButtons(inputId="gender", "Gender", choices = list("combined" = 0, "male" = 1, "female" = 2)
我找到了
print(str((input$gender)))
给了我
chr "0"
我知道我可以在服务器内更改此内容:
gender <- as.integer(input$gender)
但是我努力通过减少线路来清理代码。
有没有办法在UI中更改输出类型?
答案 0 :(得分:1)
函数radioButtons()
的参数'choices'的文档说'值应该是字符串;其他类型(如逻辑和数字)将被强制转换为字符串。如果您使用参数choiceNames
和choiceValues
而不是choices
,则normalizeChoicesArgs()
中的radioButtons()
会再次将值强制转换为字符(对于其他输入,这是正确的)像checkboxGroupInput()
一样。
由于您在list
中定义的choices
始终会返回"0"
,"1"
或"2"
,因此强制执行这些值是安全的闪亮应用程序的服务器功能中的数字数据类型。