消除ggvis Shiny中未使用的因子值

尼古拉波

我想从x-axisggvis图中消除未使用的因子值我有data.frame

choices <- c("Value1", "Value2",
                "Value3", "Value4",
                "Value5", "Value6",
                "Value7", "Value8",
                "Value9", "Value10",
                "Value11", "Value12")

levele <- c("AT1","AT2","AT3","AT4","AT5","RT1","AT6","AT7","AT8","AT9","AT10","RT2")

number_value1 <- sample(1:100,22)
number_value2 <- sample(1:100,22)

df1 <- data.frame(product = c(rep("Product1",12),rep("Product2",10)), name = c(choices,choices[1:10]),
                  short_name = c(levele,levele[1:10]),number = number_value1, number2 = number_value2) 

当我想创建一个只与数据基础上ggvisProduct2我得到

df1 %>%
  dplyr::filter(product == "Product2") %>%
  ggvis(x = ~short_name,y =  ~number) %>%
  layer_points(size := 120,fill = ~short_name)

在此处输入图片说明

该图还显示了未使用的因子值。我不希望看到这种情况,所以我过去常常x = ~factor(short_name)消除这些未使用的情况。

df1 %>%
  dplyr::filter(product == "Product2") %>%
  ggvis(x = ~short_name,y =  ~number) %>%
  layer_points(size := 120,fill = ~short_name)

在此处输入图片说明

================================================== ==================
这样就可以了。问题是当我想在Shiny应用程序中执行相同的操作时,它可以操纵轴。有2个dataframes,其中2个Products具有不同的数量name当我更改Product1Produt2in Select Productsection时,我在x轴上拥有所有因子,还有未使用的因子。我的代码在这里如果有人知道如何正确实施它?

詹特尔

正如@docendo discimus指出的那样,您可以使用droplevels。我分叉了您的代码,并在此处进行了更改

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章