0

我想将一个变量的值与另一个变量的值联系起来。在我的示例中,我想将 的值Y与 和X的值相关联Factor。特别Y=20是 for X=1andFactor=A应该与Y=9for X=2andFactor=A而不是与Y=15for X=1and Factor=Aso 相关联。

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)

在此处输入图像描述

4

1 回答 1

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)

在此处输入图像描述

于 2014-12-03T19:18:16.920 回答