【发布时间】:2013-12-12 03:06:50
【问题描述】:
我是 R 的新手,我想知道是否可以对包含 TRUE 和 FALSE 的表或矩阵进行热图,即:
条件1 条件2。 . .
Id1 真假
Id2 假 真
.
.
.
我对这个幼稚问题的借口和任何提议都欢迎制作热图或任何工具,通过颜色代码可视化我的表格或矩阵,并基于它应用聚类或树状图。
提前谢谢你
【问题讨论】:
-
我发现了一个类似的问题HERE
我是 R 的新手,我想知道是否可以对包含 TRUE 和 FALSE 的表或矩阵进行热图,即:
条件1 条件2。 . .
Id1 真假
Id2 假 真
.
.
.
我对这个幼稚问题的借口和任何提议都欢迎制作热图或任何工具,通过颜色代码可视化我的表格或矩阵,并基于它应用聚类或树状图。
提前谢谢你
【问题讨论】:
假设您可以轻松地将 TRUE/FALSE 转换为 1,0 数字
x<-data.frame(y=sample(c(1, 0),10, replace=TRUE), z=sample(c(1, 0),10, replace=TRUE))
heatmap(as.matrix(x))
如果需要,将 TRUE/FALSE 更改为 1/0 ,
x[x==TRUE]<-1
x[x==FALSE]<-0
【讨论】:
Error in heatmap(as.matrix(x)) : 'x' must be a numeric matrix 没有转换,可能是 image 没问题,但不是 heatmap
as.numeric(x)做1和0
使用 image() 函数:
> x=matrix(c(T,F,T,F,F,F,T,T,F,T,T,T,F,F,F,T),ncol=4)
> x
[,1] [,2] [,3] [,4]
[1,] TRUE FALSE FALSE FALSE
[2,] FALSE FALSE TRUE FALSE
[3,] TRUE TRUE TRUE FALSE
[4,] FALSE TRUE TRUE TRUE
> image(t(x),axes=F)
> axis(2,at=seq(0,1,(1/(nrow(x)-1))),labels=nrow(x):1)
> axis(3,at=seq(0,1,(1/(ncol(x)-1))),labels=1:ncol(x))
试一试!
【讨论】:
image(t(x)[,ncol(x):1]) 吗?这些方块让我头疼!