因此,我正在制作一个闪亮的应用程序,它显示一个传单地图,旨在可视化来自调查的数据。我想要可视化的一件事是一个从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的值?
发布于 2016-01-31 04:34:03
您可以尝试使用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。
https://stackoverflow.com/questions/35092030
复制相似问题