1

我正在尝试以这种格式从数据框中绘制时间序列:

Gene    t1  t2  t3      t4  t5
geneA   0.171708555542224   0.767412947810676   0.754849467082325   0.893904836629662   -0.451533145139049
geneB   0.32989453548287    0.304464261184109   0.632407796520215   1.2965570364275 -0.00269630000204213
geneC   1.47092503615513    0.708756145675017   1.27888805232732    1.45653164709635    0.913461102204938
geneD   0.379307974619187   0.577591822285932   -0.203915993729493  0.0743865362148819  0.561894770555292
geneE   -0.162029544343246  0.332622377925421   1.18614452957358    1.87262670303989    0.100212594882377
CG10170-RA  -0.152808420012908  -0.294930227688068  0.935190065253332   1.98475948430149    0.282560916666689

对于每个基因(行),我希望有一条线代表 5 个不同时间点(列)的表达值。

这应该是相当微不足道的,但到目前为止我找不到方法......最简单的方法是什么?

谢谢,

4

1 回答 1

3

假设DF数据框首先将其置于更标准的形式中,其中每一列都是时间序列。然后使用matplot

m <- setNames(t(DF[-1]), DF[[1]])
n <- nrow(m)
matplot(1:n, m)

或者使用 zoo,我们可以使用经典图形、晶格图形或 ggplot2 图形对每个图形使用单个或多个面板进行绘制:

library(zoo)

z <- zoo(m)

# classic graphics
plot(z) # multiple panels
plot(z, screens = 1, col = 1:n) # one panel

library(lattice)
xyplot(z)
xyplot(z, screens = 1, col = 1:n)

library(ggplot2)
autoplot(z)
autoplot(z, facets = NULL) + aes(linetype = NULL)
于 2013-02-27T14:04:59.687 回答