没有x变量的散点图

时间:2016-11-17 21:58:11

标签: r ggplot2

我的数据集有一个响应变量和一个2级因子解释变量。是否有创建没有x轴变量的散点图的功能?我希望变量沿x轴随机分布,以便更容易看到并按颜色区分2组。我可以通过创建一个“ID”变量创建一个图,但我想知道如果没有它可以做到这一点吗?当我尝试添加+ facet_grid(. ~ other.var)来查看由另一个因子变量分解的相同图时,“ID”变量会导致问题。

#Create dummy data set
response <- runif(500)
group <- c(rep('group1',250), rep('group2',250))
ID <- c(seq(from=1, to=499, by=2), seq(from=2, to=500, by=2))
data <- data.frame(ID, group, response)

#plot results
ggplot() +
    geom_point(data=data, aes(x=ID, y=response, color=group)) 

desired plot

3 个答案:

答案 0 :(得分:4)

如何使用geom_jitter,将x轴设置为某个固定值?

ggplot() +
    geom_jitter(data=data, aes(x=1, y=response, color=group)) 

enter image description here

答案 1 :(得分:2)

您可以将x绘制为行号吗?

ggplot() +
    geom_point(data=data, aes(x=1:nrow(data), y=response, color=group)) 

enter image description here

或先随机订购?

RandomOrder <- sample(1:nrow(data), nrow(data))
ggplot() +
    geom_point(data=data, aes(x= RandomOrder, y=response, color=group)) 

enter image description here

答案 2 :(得分:0)

在这里,您可以在没有中间变量的情况下根据行索引分散绘制变量:

ggplot(data = data, aes(y = response, x = seq_along(response), color = group)) +
    geom_point()

要改组行索引,只需添加一个sample函数,如下所示:

ggplot(data = data, aes(y = response, x = sample(seq_along(response)), color = group)) +
    geom_point()