r - 具有大量数据的热图

标签 r heatmap

我正在尝试对数据进行聚类,然后使用来自 gplotsheatmap.2 绘制热图,该脚本完美适用于最多 30000 行的矩阵,问题是我使用的矩阵最多 500000 行 (data_sel),当我尝试聚类时出现此错误:

heatmap.2(as.matrix(data_sel),col=greenred(10), trace="none",cexRow=0.3, cexCol=0.3,  ColSideColors=fenot.colour, margins=c(20,1), labCol="", labRow="",distfun=function(x) dist(x,method="manhattan"))
Error in vector("double", length) : vector size specified is too large

是否有任何近似值可以使用 R 来绘制他的大数据的热图?

提前致谢

最佳答案

这是一个非常古老的问题,但这里有一个使用 python 的解决方案,可以扩展到该大小的数据:

import seaborn as sns
import pandas as pd
from matplotlib import pyplot as plt

df = pd.read_table('file.txt', header=0)
df = df.set_index('ID')
del df.index.name
df

sns.set(font_scale=0.1)

cm = sns.clustermap(df, metric="euclidean", standard_scale=1, method="ward", cmap="viridis", robust='TRUE', yticklabels=1)
cm.cax.set_visible(False)
cm.savefig('heatmap.pdf')

它可能需要几个小时才能运行,但它适用于 ~1000 * ~36000 矩阵。

关于r - 具有大量数据的热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896778/

相关文章:

python - 我如何使用 opencv python 根据其位置生成检测到的对象的热图

python - 不规则间隔的热图

3d - 如何将非网格3D数据描绘为热图?

r - 根据阈值更改文本颜色

r - 带循环和比较语句的knitr spin

r Shiny 的 slider 输入轮

r - ggplot2 中的 geom_quantile 全范围

r - R 中 data.frames 列表的子集

python-2.7 - matplotlib 相关矩阵热图,以分组颜色作为标签

根据索引向量替换矩阵列中的值?