所以我正在创建一个闪亮的应用程序,显示一个传单地图,用于显示调查数据。我想要想象的其中一个值是0到14之间的值,它表示您最同意的两个陈述中的哪一个(0表示您完全同意陈述A,14表示您完全同意陈述B而7表示您同意同意)。
目前我有一个看起来像这样的传奇
问题是数据是动态的,例如,有可能没有高于9的值。当发生这种情况时,我会收到警告......
Warning: Unhandled error in observer: invalid 'labels'; length 3 should be 1 or 2
应用程序崩溃了。获取图例/地图中使用级别的代码如下所示......
faktorTest <- factor((områden[,2] >= 5) + (områden[, 2] >= 9),
labels = c("Less than 5", "Between 5 and 9", "More than 9"))
colorTest <- colorFactor(c("darkred","darkorange","darkgreen"),
levels = faktorTest,ordered=FALSE)
leafletProxy("map")%>%
clearShapes()%>%
clearControls()%>%
addPolygons(data=uv84, weight = 2, fillOpacity = 0.8, smoothFactor = 0.5,
popup = pop_up, color = ~colorTest(faktorTest))%>%
addLegend("bottomleft", pal = colorTest, values = faktorTest, na.label ="Ingen data", title =input$var2 )
即使没有表示值,有没有办法创建所有三个级别?假设你没有5岁以下的价值?
答案 0 :(得分:0)
您可以尝试使用cut
生成因素:
cut(områden[,2],breaks=c(-Inf,5,9,+Inf),include.lowest=T,labels = c("Less than 5", "Between 5 and 9", "More than 9"))
即使其中一个没有数据点,它也会创建3 levels
。