我想从x-axis
ggvis图中消除未使用的因子值。我有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
。当我更改Product1
为Produt2
in Select Product
section时,我在x轴上拥有所有因子,还有未使用的因子。我的代码在这里。如果有人知道如何正确实施它?
正如@docendo discimus指出的那样,您可以使用droplevels。我分叉了您的代码,并在此处进行了更改
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句