在R中使用.csv创建热图

时间:2018-01-15 04:15:23

标签: r csv heatmap

我正在试图弄清楚如何制作热图。

我有一个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

2 个答案:

答案 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))

enter image description here

答案 1 :(得分:0)

矩阵中的 NA 导致了问题。用一些数值删除 NA