我有一个大型数据集,我想用它来绘制染色体上的遗传分歧。我使用的数据框格式如下。
ID Group 100 270 310 430 460 550 580 660 710 740
Strain1 A 0.191 0.147 0.124 0.149 0.193 0.189 0.123 0.189 0.151 0.180
Strain2 A 0.188 0.188 0.149 0.136 0.000 0.199 0.199 0.188 0.149 0.000
Strain3 B 0.123 0.147 0.190 0.061 0.148 0.149 0.148 0.197 0.178 0.172
Strain4 B 0.147 0.197 0.188 0.178 0.179 0.149 0.191 0.154 0.179 0.187
我想使用ggplot2为每个菌株绘制一条线,根据群组关系绘制线条,并从染色体位置100到740运行连续的x轴。我无法弄清楚如何在不提取数据的情况下融化数据首先分组信息,然后在融化后将其添加回来。任何人都可以建议一步到位的方法来实现这一目标吗?
我们可以将gather
变成'long'格式然后用ggplot
绘制
library(ggplot2)
library(dplyr)
library(tidyr)
gather(df1, key, val, 3:ncol(df1)) %>%
mutate(key = as.numeric(key)) %>%
ggplot() +
geom_line(aes(x = key, y = val, group = Group, color = Group))
akrun的答案几乎就在那里,除了应该为每个菌株绘制一条线。有关更多信息,这里是我正在研究的SHINY应用程序的屏幕截图(抱歉,需要更多代表发布实际图像)的链接,它绘制了选定的真菌菌株和感染不同宿主的其他菌株集合之间的染色体相似性。草种。 Shiny App plot当前的图显示了菌株87-120与10种水稻(Oryza)感染菌株(红色),7种圣奥古斯丁草(Stenotaphrum) - 感染菌株(深蓝色)和8指小米(Eleusine)的遗传差异。 - 感染菌株(浅蓝色)。我目前的问题是x轴值不代表染色体位置(而不是分析窗口号),我需要以我可以使用的染色体位置信息的方式融合(或收集)数据帧字段。 x轴的标题和颜色的组信息。