2014-12-03 31 views
0

我想連接一個變量相對於其他變量值的值。在我的例子中,我想連接Y的值,相對於XFactor的值。具體Y=20X=1Factor=A應該Y=9X=2Factor=A連接,而不是爲Y=15X=1Factor=A如此。任何幫助將不勝感激。由於ggvis:關於因子水平的點的連接

library(ggvis) 
df <- data.frame(X=rep(1:4, times=2), Y=c(20, 9, 15, 5, 25, 18, 29, 10), Factor = rep(LETTERS[1:2], each=4)) 
df 
ggvis(
     data=df 
     , x= ~Y 
     , y= ~X 
     , fill= ~Factor 
     , stroke = ~Factor) %>% 
    #group_by(Factor) %>% 
    layer_points(shape=~Factor) %>% 
    layer_lines(fillOpacity=0) %>% 
    scale_numeric('y', reverse=TRUE) 

enter image description here

回答

1

如果我理解你想要正確地做什麼,它只是按照正確的順序排序您的數據的問題。

library(dplyr) 
library(ggvis) 
ggvis(data=df, x= ~Y, y= ~X, fill= ~Factor, stroke = ~Factor) %>% 
    arrange(X) %>% 
    group_by(Factor) %>% 
    layer_points(shape=~Factor) %>% 
    layer_paths(fill := NA) %>% 
    scale_numeric('y', reverse=TRUE) 

enter image description here