Я хочу исключить неиспользуемое значение фактора из x-axis
на графике ggvis. У меня есть 2_
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)
и когда я хочу создать ggvis только с данными на основе Product2
я получаю
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
в разделе Select Product
, в результате у меня есть все факторы по оси X, а также неиспользованные факторы. Мой код здесь. Если кто знает как это правильно реализовать?
droplevels
обычно самый простой способ удалить неиспользуемые уровни фактора. Вы можете применить его ко всему data.frame. Вы можете попробовать:df1 %>% dplyr::filter(product == "Product2") %>% droplevels() %>% ...
- person talat   schedule 25.03.2015