在Shiny选择输入上添加一个级别作为默认值

时间:2017-08-16 10:34:39

标签: r select shiny

假设我在数据框中有一些级别,我想将值默认为某个级别,所以我尝试了这个

selectInput('type', h4("some text"), c(levels(df$type)),value=as.factor(levels(df$type)[1])))

我收到此错误消息

ERROR: unused argument (value = as.factor(levels(df$type)[1]))

当然,因为levels(df$type)[1]等于某个字符串str;我试图直接放置value=as.factor(str)),但它以同样的方式出错。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您应该使用而不是value =selected =

所以完整的答案是:

selectInput('type', h4("some text"), c(levels(df$type)),selected=as.factor(levels(df$type)[1])))

selectInputvalue没有这样的论点。请参阅this link

<强> [UPDATE]

selectInput('type', h4("some text"), choices=levels(df$type),selected=levels(df$type)[1]))

如果你调用级别,那么你的输出已经是一个向量,在c()之后不需要使用level()

此外,您的df$type必须已经是一个因素(因为您使用levels()参数)!因此您不需要使用selected=as.factor(levels(...)[1])),而只需使用selected=levels(...)[1]