循环中可以做到吗?聚类/热图

时间:2014-12-16 09:54:14

标签: r loops

我想在循环中运行整个代码,因为将会有比表中更多的表。我在做循环方面没有多少经验,所以我非常感谢你的帮助。

这是我想在循环中运行的代码:

cluster1 <- tbl_cluster[tbl_cluster$fit.cluster == 1,]
cluster1 <- cluster1[,-25]

cluster1 <- as.matrix(cluster1[,2:24])
mode(cluster1)<-"numeric"

heatmap.2(cluster1,
          Colv = NA,
          scale = "none",
          dendrogram = "row",
          col=rainbow(256, s = 1, v = 1, start = 0, end = 2/6, alpha = 1),
          density.info = "none",
          trace = "none",
          key = FALSE,
          cexCol=0.5,
          cexRow=1)

mtext(paste("Cluster 1",""), side=3, line=-1, cex=2, col="black") 
mtext("Size in kDa", side=1, line=3.5, cex=1.3, col="black")  

我想创建一个pdf文件并将所有这些热图保存在同一个pdf中,只是新页面上的每个热图。

总共有50个集群:cluster1,cluster2,cluster3等等......

如果我必须手动完成,我会编写下一个代码:

cluster2 <- tbl_cluster[tbl_cluster$fit.cluster == 2,]


cluster2 <- cluster1[,-25]

cluster2 <- as.matrix(cluster2[,2:24])
mode(cluster2)<-"numeric"

heatmap.2(cluster2,
          Colv = NA,
          scale = "none",
          dendrogram = "row",
          col=rainbow(256, s = 1, v = 1, start = 0, end = 2/6, alpha = 1),
          density.info = "none",
          trace = "none",
          key = FALSE,
          cexCol=0.5,
          cexRow=1)

mtext(paste("Cluster 2",""), side=3, line=-1, cex=2, col="black") 
mtext("Size in kDa", side=1, line=3.5, cex=1.3, col="black")  

Cluster1中:

> dput(cluster1)
structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16752067, 0, 0, 0, 0, 0, 0, 
0, 1, 0.663889907, 0.44201215, 1, 0.955735729, 0.746154794, 0.805581104, 
1, 0.535148598, 1, 0.750189517, 0.531915145, 0.904554192, 0.580052296, 
0.584708494, 0.50381622, 1, 0.689930171, 1, 0.492607902, 0.592845546, 
0.784022307, 0.713841276, 0.735311924, 0.485931998, 0.555872624, 
0.637681873, 1, 0.608332643, 0.471510245, 0.742100525, 1, 0.725036951, 
0.636103642, 0.442522885, 0.781087935, 0.63953839, 1, 1, 0.46976386, 
1, 1, 1, 0.75983123, 1, 0.86259757, 1, 1, 0.7087314, 1, 1, 1, 
0.50654411, 1, 0.69987908, 1, 1, 1, 1, 1, 1, 1, 1, 0.74120003, 
1, 1, 1, 0.73758981, 1, 1, 1, 1, 0.64615661, 0.83194495, 0.80859968, 
0.51178152, 0.33254192, 0.44084187, 0.32018398, 0.60794852, 0.55977902, 
0.53444753, 0.75018952, 0.76595757, 0.7087314, 0.63280451, 0.58470849, 
0.31688716, 0.50654411, 0.68993017, 0.45147891, 0.6658817, 0.60364123, 
0.49194389, 0.55370463, 0.48847424, 0.44031246, 0.55587262, 0.60699513, 
0.58036173, 0.54545093, 0.44738082, 0.51232832, 0.5531822, 0.35779526, 
0.45525701, 0.75091808, 0.72445096, 0, 0.065540432, 0, 0, 0.498637407, 
0.099666444, 0.267858247, 0.160618801, 0.036112045, 0.10206614, 
0, 0.053537577, 0.292234638, 0.615220442, 0.526821051, 0.245979954, 
0.209517328, 0, 0, 0.174034334, 0.145034071, 0.240228383, 0.167734427, 
0, 0.243614373, 0.358657498, 0.565901472, 0.134088752, 0.204292959, 
0, 0.370633918, 0.153763271, 0, 0.136791753, 0.100906512, 0, 
0, 0, 0, 0, 0, 0.029860988, 0.192836939, 0.01099398, 0, 0, 0, 
0.044629467, 0.219880408, 0, 0, 0.165085571, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0.208989308, 0.355930559, 0.054875021, 0, 0.278744359, 
0.094030066, 0, 0.202269046, 0, 0, 0, 0, 0, 0, 0, 0, 0.31009524, 
0, 0, 0, 0, 0, 0, 0, 0, 0.16273216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0.23948029, 0, 0, 0, 0, 0, 0, 0.38456462, 0, 0, 0, 0, 0, 0, 
0, 0, 0.31366311, 0, 0, 0, 0, 0, 0, 0, 0, 0.16376326, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0.14738849, 0, 0, 0, 0, 0, 0, 0.13396394, 
0, 0, 0, 0, 0, 0, 0, 0, 0.28847861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.08922821, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0), .Dim = c(36L, 23L), .Dimnames = list(c("at1g02140.1", 
"at1g06130.2", "at1g08110.3", "at1g09830.1", "at1g11930.2", "at1g32470.1", 
"at1g47128.1", "at1g62380.1", "at1g66430.1", "at1g75270.1", "at2g25070.1", 
"at2g37660.1", "at2g42590.1", "at2g47450.1", "at3g01520.1", "at3g02780.1", 
"at3g07470.1", "at3g07720.1", "at3g15840.4", "at3g19010.1", "at3g21750.1", 
"at3g29185.1", "at4g00490.1", "at4g16770.1", "at4g29590.1", "at4g37000.1", 
"at4g39260.1", "at4g39970.1", "at5g04430.1", "at5g12210.2", "at5g24400.1", 
"at5g36160.1", "at5g59420.1", "at5g63980.1", "at5g66530.2", "at5g67150.1"
), c("X20", "X52.5", "X81", "X110", "X140.5", "X189", "X222.5", 
"X278", "X340", "X397", "X453.5", "X529", "X580", "X630.5", "X683.5", 
"X735.5", "X784", "X832", "X882.5", "X926.5", "X973", "X1108", 
"X1200")))

在删除一列并将其设置为矩阵之前,这就是cluster2的样子:

> dput(cluster2)
structure(list(X10 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0), X20 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0), X52.5 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0), X81 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X110 = c(0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X140.5 = c(0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X189 = c(0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X222.5 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X278 = c(0, 
0, 0, 0, 0, 0, 0.21749847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0.28402318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0), X340 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1), X397 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0.44653495, 0, 0, 0, 0.45794332, 0.17105234, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.43856849, 0, 0, 0, 0, 0, 0.2103673, 
0, 0, 0, 0, 0.3364729, 0, 0, 0, 0, 0, 0, 0, 0, 0.13032743, 0, 
0, 0, 0, 0.27423546, 0, 0, 0, 0.28894321, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X453.5 = c(0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0.03595661, 0, 0, 0, 0, 0.17105234, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.08335904, 
0, 0, 0, 0, 0.3364729, 0, 0, 0, 0, 0, 0, 0, 0, 0.13032743, 0, 
0, 0, 0, 0, 0, 0, 0, 0.03243995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0), X529 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0.02518973, 0, 0, 0, 0, 0.118128928, 0, 0, 
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.004797445, 
0, 0, 0, 0, 0.291561006, 0, 0, 0, 0, 0, 0, 0, 0, 0.04657268, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0), X580 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0.037388639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.203744779, 
0, 0, 0, 0, 0, 0, 0, 0, 0.09800002, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X630.5 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.04831449, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
), X683.5 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0), X735.5 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0), X784 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0), X832 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0), X882.5 = c(0, 0, 0, 0, 0, 0, 0, 1, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X926.5 = c(0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X973 = c(0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X1108 = c(0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), X1200 = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), fit.cluster = c(2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L)), .Names = c("X10", "X20", "X52.5", "X81", 
"X110", "X140.5", "X189", "X222.5", "X278", "X340", "X397", "X453.5", 
"X529", "X580", "X630.5", "X683.5", "X735.5", "X784", "X832", 
"X882.5", "X926.5", "X973", "X1108", "X1200", "fit.cluster"), row.names = c("at1g02880.3", 
"at1g03210.1", "at1g03900.1", "at1g11090.1", "at1g11360.4", "at1g18210.2", 
"at1g21600.2", "at1g26520.1", "at1g29260.1", "at1g32550.1", "at1g34760.2", 
"at1g44790.1", "at1g56430.1", "at1g60000.1", "at1g62480.1", "at1g71790.1", 
"at1g73530.1", "at1g75690.1", "at1g77122.1", "at1g79790.2", "at2g02390.1", 
"at2g02390.3", "at2g02500.1", "at2g04845.1", "at2g18850.2", "at2g19770.1", 
"at2g20270.1", "at2g22570.2", "at2g23610.1", "at2g25950.1", "at2g26060.1", 
"at2g29730.1", "at2g30410.2", "at2g31670.1", "at2g32520.1", "at2g33740.1", 
"at2g35410.1", "at2g41760.1", "at2g43100.1", "at2g48120.2", "at3g04780.1", 
"at3g08010.1", "at3g10620.1", "at3g11210.1", "at3g15190.1", "at3g16450.3", 
"at3g16990.1", "at3g17790.1", "at3g18420.1", "at3g19810.1", "at3g21760.1", 
"at3g21790.1", "at3g23580.1", "at3g23600.2", "at3g25640.1", "at3g26450.1", 
"at3g26900.3", "at3g27060.1", "at3g48700.1", "at3g50440.1", "at3g54900.1", 
"at3g55040.1", "at3g56310.1", "at3g58470.1", "at3g60910.1", "at3g63250.2", 
"at4g09040.2", "at4g14710.2", "at4g16690.1", "at4g26840.1", "at4g28030.2", 
"at4g30550.1", "at4g31310.1", "at4g32930.1", "at4g33950.1", "at4g34090.1", 
"at4g37020.1", "at4g37150.1", "at4g37470.1", "at4g38225.2", "at4g38800.1", 
"at5g04740.1", "at5g08170.1", "at5g11330.1", "at5g11950.2", "at5g14910.1", 
"at5g16440.1", "at5g19680.1", "at5g28830.1", "at5g32450.1", "at5g38480.1", 
"at5g40280.1", "at5g41310.1", "at5g42980.1", "at5g43070.1", "at5g44600.1", 
"at5g48480.1", "at5g53045.1", "at5g58240.2", "at5g58490.1", "at5g58590.1", 
"at5g61500.1", "at5g62180.1"), class = "data.frame")

我不能dput整个tbl_cluster,因为它太大了......

1 个答案:

答案 0 :(得分:3)

您可以通过简单的for循环实现此目的。动态变量命名可能需要使用assign。

k=dim(tbl_cluster)
for(i in 1:k){
   cluster <- tbl_cluster[tbl_cluster$fit.cluster == i,]
   cluster <- cluster1[,-25]

   cluster <- as.matrix(cluster[,2:24])
   mode(cluster)<-"numeric"

   heatmap.2(cluster,
      Colv = NA,
      scale = "none",
      dendrogram = "row",
      col=rainbow(256, s = 1, v = 1, start = 0, end = 2/6, alpha = 1),
      density.info = "none",
      trace = "none",
      key = FALSE,
      cexCol=0.5,
      cexRow=1)

  mtext(paste("Cluster ",i,"_"), side=3, line=-1, cex=2, col="black") 
  mtext("Size in kDa", side=1, line=3.5, cex=1.3, col="black")
  ## at this point you can dump the cluster object
}