我的数据集有一个响应变量和一个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))
答案 0 :(得分:4)
答案 1 :(得分:2)
您可以将x绘制为行号吗?
ggplot() +
geom_point(data=data, aes(x=1:nrow(data), y=response, color=group))
或先随机订购?
RandomOrder <- sample(1:nrow(data), nrow(data))
ggplot() +
geom_point(data=data, aes(x= RandomOrder, y=response, color=group))
答案 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()