繁体   English   中英

在 R 中使用 .csv 创建热图

[英]Creating a heatmap using .csv in R

我想弄清楚如何创建热图。

我有一个 csv 文件,我已经导入了 58 个变量的 61 个观察值,格式如下,并将所有 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 和 heatmap.2,但显然我的数据格式不正确,并且不确定如何处理数据。

heatmap(heat2)
Error in heatmap(heat2) : 'x' must be a numeric matrix

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

假设这是您的原始 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))

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM