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