我正在试图弄清楚如何制作热图。
我有一个csv文件,我导入了61个55个变量的观察值,格式如下,并将所有na值更改为0。
T1 T2 T3 T4
1 aaa 3 6 3 0
2 aab 1 8 5 0
3 abb 2 5 0 0
4 bbb 10 0 10 7
5 bbc 8 2 8 1
heat <- data.frame(read.csv("heatdata.csv", header=T))
write.csv(heat,"heat.csv",na="0")
heat <- data.frame(read.csv("heat.csv", header=T))
我想创建热图,使用数据框中的所有数据,以及指定特定列(例如,仅T2和T3)。我尝试过使用热图和热图。但我显然没有正确格式化数据,也不确定如何处理数据。
heatmap(heat2)
Error in heatmap(heat2) : 'x' must be a numeric matrix
答案 0 :(得分:0)
假设这是您的原始CSV:
T1 T2 T3 T4
aaa 3 6 3 NA
aab 1 8 5 NA
abb 2 5 NA NA
bbb 10 NA 10 7
bbc 8 2 8 1
然后您不需要明确更改NA。如果没有row.names = FALSE
,您将在第二次阅读时获得冗余索引。
df <- read.table(header = T, text = "
T1 T2 T3 T4
aaa 3 6 3 NA
aab 1 8 5 NA
abb 2 5 NA NA
bbb 10 NA 10 7
bbc 8 2 8 1", sep = "")
df <- read.csv("heatdata.csv", header=TRUE)
heatmap(as.matrix(df))
答案 1 :(得分:0)
矩阵中的 NA 导致了问题。用一些数值删除 NA