2014-12-03 3 views
0

Я хочу связать значения одной переменной по отношению к значениям другой переменной. Здесь в моем примере я хочу соединить значения Y относительно значений X и Factor. В частности Y=20 для X=1 и Factor=A должен соединиться с Y=9 для X=2 и Factor=A, а не с Y=15 для X=1 и Factor=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

Смежные вопросы