【问题标题】:scatterplot with no x variable没有 x 变量的散点图
【发布时间】:2020-04-30 00:02:53
【问题描述】:

我的数据集有一个响应变量和一个 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)) 

【问题讨论】:

  • 听起来你真正的问题是只有当你面对other.var时,所以也许你的例子应该包括那个?

标签: r ggplot2


【解决方案1】:

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

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

【讨论】:

    【解决方案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)) 
    

    【讨论】:

      【解决方案3】:

      以下是如何在没有中间变量的情况下根据行索引散点图变量:

      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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多