使用R

时间:2019-01-21 01:01:31

标签: r ggplot2

我有一个数据集,其中包含在3个不同实验阶段获得的3000多种生物的读取数。数据看起来像这样:

          rain      day0      day7
 org1     923857    505062    503292
 org2     424002    198440    26314
 org3     2910      1492      535

...后面还有3000行。

我想绘制每个生物体在不同阶段的趋势(读取数)..(开始,第0天,第7天)。每种生物应以不同的颜色表示,并且所有生物都应在同一图中。

我曾尝试在excel中做同样的事情,但在一个图中只能有255条这样的线。

我在excel中获得的图: Example Plot

在R中有这样做的方法吗?我是R的新手,因此了解的不多。我认为ggplot可能有效,但是我很难理解如何在此数据上使用它。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

这是使用library(tidyverse)

的版本

我根据您提供的数据创建了一个data.frame,
gather这些变量可将数据转换为长格式,
更改了因子水平,以使其与您提供的图对齐,
并使用ggplot来制作一个数字。

data.frame(org = letters[1:3],
           rain = c(923857, 424002, 2910),
           day0 = c(505062, 198440, 1492),
           day7 = c(503292, 2614, 535)) %>% 
  gather(variable, value, -org) %>% 
  mutate(variable = factor(variable, levels = c('rain', 'day0', 'day7'))) %>% 
  ggplot(aes(variable, value, color = org, group = org)) + 
  geom_point() +
  geom_line() +
  theme(legend.position="bottom")