r - ggplot2:绘制每个 id 的所有属性

标签 r ggplot2

我有一个调查,其中每行代表一个人,每列代表他们完成调查所花费的时间

我想在每个人的每个时间上绘制一个点,例如,如果一个人在 10 分钟内完成了第一部分 x1 ,并在 10 分钟内完成了第二部分 x2 12 分钟,15 分钟内的第三部分 x3 和 45 分钟内的第四部分 x4 对于 ID 1,它们将在 y 轴上有这 4 个点,其中 ID 是X轴点

id <- sample(1:12)
x1 <- sample(1:250, 12, replace=F)
x2 <- sample(1:250, 12, replace=F)
x3 <- sample(1:250, 12, replace=F)
x4 <- sample(1:250, 12, replace=F)

mydf <- data.frame(id,x1,x2,x3,x4)

我尝试使用 ggplot,其中我指定 x 轴作为 ID,但我不确定如何将所有其他列表示为不同的计数

有谁知道这是否可行

任何帮助都会很棒

最佳答案

我相信我们需要首先融化您的data.frame,然后构建您想要的绘图。

library(reshape2)
melted <- melt(mydf, id.vars = "id") # Melt data
# Generate plot
library(ggplot2)
ggplot(melted, aes(factor(id), value, colour = variable)) +
        geom_point()

enter image description here

关于r - ggplot2:绘制每个 id 的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238421/

相关文章:

r - 如何使用 map 对列表进行子集化?

r - 修改 R 包的源代码

dplyr 中的 R 粘贴函数没有按预期迭代

r - 创建 Lollipop 图表来比较组

根据子图中的点重新排列facet_wrap图

r - 如何使用ggplot2绘制带有类别变量的线?

r - 如何调整ggarrange ggpubr ggplot中的边距(轴元素消失)R

r - 如何在 R 中的两个 H2OFrame 之间进行交叉连接?

r - 使用 ggplot2 表示散点图中每个点的小饼图

r - SVM 性能与 AUC 分数不一致