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