根据变量关系创建二元热图
Create a binary heatmap based on variables relationship
我有下面的数据框
DrugName <- c("as","df","fg","gh","jk")
value <- c("AD","AD","AD","AD","SEL")
MELT <- data.frame(DrugName, value)
我想创建一个热图,将药物名称作为行,将目标符号作为列(在热图下方),如果药物与目标之间没有关联,则网格方块应为白色
如果药物与目标之间存在关联,则为黑色。
我使用:
library(ggplot2)
ggplot(MELT, aes(value, DrugName)) +
geom_tile() +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_manual(values = c("white", "black"))
我得到:
我不明白为什么绘图似乎有 3 列,而值是 2,也不明白为什么着色似乎不正确。
用table
统计'DrugName'和'value'的每个组合,转换为data.frame
。将 fill
映射到 'Freq'.
的离散版本
在示例中,计数仅为 0 或 1,您可以使用 fill = factor(Freq)
映射填充颜色。如果 'Freq' 也有值 > 1
,那么您可以强制转换为 'Freq' 的二进制版本:fill = Freq != 0
。
ggplot(data.frame(table(MELT)), aes(value, DrugName, fill = factor(Freq))) +
geom_tile(color = "grey") +
scale_fill_manual(values = c("white", "black"))
我有下面的数据框
DrugName <- c("as","df","fg","gh","jk")
value <- c("AD","AD","AD","AD","SEL")
MELT <- data.frame(DrugName, value)
我想创建一个热图,将药物名称作为行,将目标符号作为列(在热图下方),如果药物与目标之间没有关联,则网格方块应为白色 如果药物与目标之间存在关联,则为黑色。 我使用:
library(ggplot2)
ggplot(MELT, aes(value, DrugName)) +
geom_tile() +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_manual(values = c("white", "black"))
我得到:
我不明白为什么绘图似乎有 3 列,而值是 2,也不明白为什么着色似乎不正确。
用table
统计'DrugName'和'value'的每个组合,转换为data.frame
。将 fill
映射到 'Freq'.
在示例中,计数仅为 0 或 1,您可以使用 fill = factor(Freq)
映射填充颜色。如果 'Freq' 也有值 > 1
,那么您可以强制转换为 'Freq' 的二进制版本:fill = Freq != 0
。
ggplot(data.frame(table(MELT)), aes(value, DrugName, fill = factor(Freq))) +
geom_tile(color = "grey") +
scale_fill_manual(values = c("white", "black"))