如何从多列数据框创建散点图?

时间:2018-04-25 14:29:09

标签: r dataframe bioinformatics scatter-plot

我试图生成存储在数据框中的实验室网格的散点图。

我使用的数据如下所示:

> print(df)
   day         val1         val2         val3
1    1      9.26875     11.34072     11.26673
2    2     48.47862     48.35817     48.68534
3    3    140.17682    141.09102    142.95175
4    4    313.43012    313.69816    312.97293

每一行显示每天进行的测量。

我想制作一个能够表明这一点的散点图 最终结果看起来像like this

我已经找到了无数关于如何制作散点图treating each column as a different object的例子,这是我想要做的事情。

我能找到的最接近的是this question,但说明并不清楚,我不明白为什么需要包reshape2ggplot2任务。

任何人都可以给我任何指示吗?

最好的问候。

1 个答案:

答案 0 :(得分:0)

虽然不是必需的,但库提供的某些功能在基础R中不一定存在或很容易找到。例如,您可以使用数据框执行简单的散点图:

df$day <- as.factor(df$day)
df <- melt(df)
plot(as.numeric(df$day),df$value)

boring plot

正如您所看到的,这个通用图可以通过融合来实现,以便将数据转换为长格式,其中1列为您的因子,1列为您的值。但是,通过几行ggplot,您可以创建一个简单的图表,只需要额外的努力就可以提供更多信息。

library(ggplot2)
ggplot(df, aes(x=day,y=value, colour = variable)) + geom_point(position = position_dodge(width = .3))

ggplot

您可以详细了解ggplot2 here