R 从一个数据集创建一个多行图,其中时间在一个轴上,基因在另一个轴上

R 从一个数据集创建一个多行图,其中时间在一个轴上,基因在另一个轴上,r,ggplot2,R,Ggplot2,我有一个每十年平均基因计数的数据集,如下所示: structure(list(decade_0 = c(92.500989948184, 2788.27384875413, 28.6937227408861, 1988.03831525414, 1476.83143096418), decade_1 = c(83.4606306426572, 537.725421951383, 10.2747132062782, 235.380422949258, 685.043600629146 ), d

我有一个每十年平均基因计数的数据集,如下所示:

structure(list(decade_0 = c(92.500989948184, 2788.27384875413, 
28.6937227408861, 1988.03831525414, 1476.83143096418), decade_1 = c(83.4606306426572, 
537.725421951383, 10.2747132062782, 235.380422949258, 685.043600629146
), decade_2 = c(188.414375201462, 2091.84249935145, 17.080858894829, 
649.55107199935, 1805.3484565514), decade_3 = c(43.3316024314987, 
141.64396529835, 2.77851259926935, 94.7748265692319, 413.248354335235
), decade_4 = c(54.4891626582901, 451.076574268175, 12.4298374245007, 
346.102609621018, 769.215535857077), decade_5 = c(85.5621750431284, 
131.822699578988, 13.3130607062134, 151.002200923853, 387.727911723968
), decade_6 = c(112.860998806804, 4844.59668489898, 19.7317645111144, 
2084.76584309876, 766.375852567831), decade_7 = c(73.2198969730458, 
566.042952305845, 3.2457873699886, 311.853982701609, 768.801733767044
), decade_8 = c(91.8161648275608, 115.161700090147, 10.7289451320065, 
181.747670625714, 549.21661120626), decade_9 = c(123.31045087146, 
648.23694540667, 17.7690326882018, 430.301803845829, 677.187054208271
)), row.names = c("ANK1", "NTN4", "PTPRH", "JAG1", "PLAT"), class = "data.frame")
我想画一个折线图,图中每一个>30个基因的计数随时间的变化,如excel中所示

要对ggplot执行此操作,我必须将其转换为col1:decade,col2:gene,col3:counts。 我的问题是,如何将我的表转换为这个ggplot友好的表,或者是否有更好的方法使用其他工具生成绘图


谢谢

一种可能性是:转换数据帧,将行名转换为列,然后聚集(“变长”)。这样,绘图就很容易了

库(tidyverse)
mydat%as.data.frame()%%>%tible::rownames_to_column('decade')%%>%
pivot_longer(-decade,names_to='gene',values_to='count')
ggplot(新数据)+几何线(aes(十年,计数,颜色=基因,组=基因))

由(v0.3.0)于2020年2月14日创建