二进制数据热图
Binary Data heatmap
谁能告诉我如何绘制二进制数据的热图,类似于 link- Binary R heatmap still displays gradient ,
中的热图
我试过了,但我想我无法正确输入文件。这是我要绘制的数据的 link-
https://www.dropbox.com/s/7k1uskwrfuaugw3/Dataset.csv?dl=0
这是我数据的一个子集-
Strains gene1 gene2 gene3 gene4 gene5
strain1 1 1 1 1 1
strain2 1 1 1 1 1
strain3 1 1 1 1 1
strain4 1 1 1 1 1
strain5 1 1 1 1 1
strain6 1 1 1 1 1
strain7 1 1 1 1 1
strain8 1 1 1 1 1
strain9 1 1 0 0 0
我得到的输出:
library(gplots)
file1<- read.csv('Dataset.csv',header = T)
class(file1)
dat <- data.frame(file1)
dim(dat)
names(dat)
head(dat)
rownames(dat) <-dat$Strains
head(dat)
dim(dat)
head(dat)
dat.tdy <- dat[,2:26]
dat.n <- scale(t(dat.tdy))
dat.tn <- t(dat.n)
col = c("black", "grey")
row_names <- rownames(dat.tn)
heatmap.2(dat.tn, scale = "none", Rowv = NA, Colv = NA, col = c("black", "grey"), margin=c(6, 4),trace='none',labRow = row_names,
lhei=c(1,4),cexRow = 1,cexCol = 1,
lwid=c(.1,1), keysize=0.1, key.par = list(cex=0.5), sepwidth=c(0.1,0.1),
sepcolor="white",
colsep=1:ncol(dat),
rowsep=1:nrow(dat))
此代码 运行 正确并给出了输出,但是当我交叉检查输入文件时,我发现热图中的颜色矩阵与输入文件不同。例如在热图中,对于 gene7,只有一个黑框,但它在输入文件中实际上有近 13 个零。
我觉得有一种更简单的方法来做到这一点..但是由于我是 R 的新手,所以我无法弄清楚。我在提供输入文件时做错了什么。请帮忙。
谢谢
请尝试此代码,您在维度中犯了一些错误
library(gplots)
file1<- read.csv('Dataset.csv',header = T,row.names = 1)
class(file1)
dat <- data.frame(file1)
dim(dat)
names(dat)
head(dat)
rownames(dat) <-dat$Strains
head(dat)
dim(dat)
head(dat)
dat.tdy <- dat[,1:25]
dat.n <- scale(t(dat.tdy))
dat.tn <- t(dat.n)
col = c("black", "grey")
row_names <- rownames(dat.tn)
heatmap.2(dat.tn, scale = "none", Rowv = NA, Colv = NA, col = c("black", "grey"), margin=c(6, 4),trace='none',labRow = FALSE,
lhei=c(1,4),cexRow = 1,cexCol = 1,
lwid=c(.1,1), keysize=0.1, key.par = list(cex=0.5), sepwidth=c(0.1,0.1),
sepcolor="white",
colsep=1:ncol(dat),
rowsep=1:nrow(dat))
我找到了一个非常简单的代码来绘制二进制热图-
library(d3heatmap)
x<- read.csv("Dataset.csv", header = T, row.names = 1)
d3heatmap(x, Colv = NA,Rowv = NA, col = c("blue", "red"), scale="none", cexRow = 0.6,cexCol = 1)
使用的示例数据集-
RC C1 C2 C3 C4
R1 1 1 0 1
R2 0 1 1 0
R3 0 1 1 1
R4 1 1 1 0
R5 1 1 1 1
R6 0 0 0 1
R7 1 1 1 1
R8 1 1 1 1
R9 0 1 1 1
R10 1 1 0 0
谁能告诉我如何绘制二进制数据的热图,类似于 link- Binary R heatmap still displays gradient ,
中的热图我试过了,但我想我无法正确输入文件。这是我要绘制的数据的 link- https://www.dropbox.com/s/7k1uskwrfuaugw3/Dataset.csv?dl=0
这是我数据的一个子集-
Strains gene1 gene2 gene3 gene4 gene5
strain1 1 1 1 1 1
strain2 1 1 1 1 1
strain3 1 1 1 1 1
strain4 1 1 1 1 1
strain5 1 1 1 1 1
strain6 1 1 1 1 1
strain7 1 1 1 1 1
strain8 1 1 1 1 1
strain9 1 1 0 0 0
我得到的输出:
library(gplots)
file1<- read.csv('Dataset.csv',header = T)
class(file1)
dat <- data.frame(file1)
dim(dat)
names(dat)
head(dat)
rownames(dat) <-dat$Strains
head(dat)
dim(dat)
head(dat)
dat.tdy <- dat[,2:26]
dat.n <- scale(t(dat.tdy))
dat.tn <- t(dat.n)
col = c("black", "grey")
row_names <- rownames(dat.tn)
heatmap.2(dat.tn, scale = "none", Rowv = NA, Colv = NA, col = c("black", "grey"), margin=c(6, 4),trace='none',labRow = row_names,
lhei=c(1,4),cexRow = 1,cexCol = 1,
lwid=c(.1,1), keysize=0.1, key.par = list(cex=0.5), sepwidth=c(0.1,0.1),
sepcolor="white",
colsep=1:ncol(dat),
rowsep=1:nrow(dat))
此代码 运行 正确并给出了输出,但是当我交叉检查输入文件时,我发现热图中的颜色矩阵与输入文件不同。例如在热图中,对于 gene7,只有一个黑框,但它在输入文件中实际上有近 13 个零。
我觉得有一种更简单的方法来做到这一点..但是由于我是 R 的新手,所以我无法弄清楚。我在提供输入文件时做错了什么。请帮忙。 谢谢
请尝试此代码,您在维度中犯了一些错误
library(gplots)
file1<- read.csv('Dataset.csv',header = T,row.names = 1)
class(file1)
dat <- data.frame(file1)
dim(dat)
names(dat)
head(dat)
rownames(dat) <-dat$Strains
head(dat)
dim(dat)
head(dat)
dat.tdy <- dat[,1:25]
dat.n <- scale(t(dat.tdy))
dat.tn <- t(dat.n)
col = c("black", "grey")
row_names <- rownames(dat.tn)
heatmap.2(dat.tn, scale = "none", Rowv = NA, Colv = NA, col = c("black", "grey"), margin=c(6, 4),trace='none',labRow = FALSE,
lhei=c(1,4),cexRow = 1,cexCol = 1,
lwid=c(.1,1), keysize=0.1, key.par = list(cex=0.5), sepwidth=c(0.1,0.1),
sepcolor="white",
colsep=1:ncol(dat),
rowsep=1:nrow(dat))
我找到了一个非常简单的代码来绘制二进制热图-
library(d3heatmap)
x<- read.csv("Dataset.csv", header = T, row.names = 1)
d3heatmap(x, Colv = NA,Rowv = NA, col = c("blue", "red"), scale="none", cexRow = 0.6,cexCol = 1)
使用的示例数据集-
RC C1 C2 C3 C4
R1 1 1 0 1
R2 0 1 1 0
R3 0 1 1 1
R4 1 1 1 0
R5 1 1 1 1
R6 0 0 0 1
R7 1 1 1 1
R8 1 1 1 1
R9 0 1 1 1
R10 1 1 0 0