r - 单个热图中的两种类型的变量(使用 R)
问题描述
我必须以某种方式绘制来自免疫动物的数据,以可视化保护中可能的相关性。作为背景,当我们给动物接种疫苗时,它会产生抗体,这可能与保护有关,也可能无关。我们用 9 种不同的蛋白质免疫牛,并测量了高达 1.5(光密度 (OD))的抗体滴度。我们还测量了高达 5000 的蜱负荷。每只动物对每种蛋白质都有不同的滴度和不同的蜱负荷,也许某些蛋白质对保护比其他蛋白质更重要,我们认为热图可以说明这一点。
TL;DR:绘制一个热图,其中一个变量(Ticks)从 6 上升到 5000,另一个变量(Prot1 到 Prot9)上升到 1.5。
我的数据样本:
Animal Group Ticks Prot1 Prot2 Prot3 Prot4 Prot5 Prot6 Prot7 Prot8 Prot9
G1-54-102 control 3030 0.734 0.402 0.620 0.455 0.674 0.550 0.654 0.508 0.618
G1-130-102 control 5469 0.765 0.440 0.647 0.354 0.528 0.525 0.542 0.481 0.658
G1-133-102 control 2070 0.367 0.326 0.386 0.219 0.301 0.231 0.339 0.247 0.291
G3-153-102 vaccinated 150 0.890 0.524 0.928 0.403 0.919 0.593 0.901 0.379 0.647
G3-200-102 vaccinated 97 1.370 0.957 1.183 0.658 1.103 0.981 1.051 0.534 1.144
G3-807-102 vaccinated 606 0.975 0.706 1.058 0.626 1.135 0.967 0.938 0.428 1.035
我对 R 知之甚少,但我很高兴能进一步了解它。因此,请随意放置您想要的任何代码,我会尽力理解它。
先感谢您。路易斯
解决方案
这是使用ggplot2
包创建热图的选项。您需要将数据框从宽格式转换为长格式。Ticks
如果数字是离散的,那么将列从数字转换为因子也很重要。
library(tidyverse)
library(viridis)
dat2 <- dat %>%
gather(Prot, Value, starts_with("Prot"))
ggplot(dat2, aes(x = factor(Ticks), y = Prot, fill = Value)) +
geom_tile() +
scale_fill_viridis()
数据
dat <- read.table(text = "Animal Group Ticks Prot1 Prot2 Prot3 Prot4 Prot5 Prot6 Prot7 Prot8 Prot9
'G1-54-102' control 3030 0.734 0.402 0.620 0.455 0.674 0.550 0.654 0.508 0.618
'G1-130-102' control 5469 0.765 0.440 0.647 0.354 0.528 0.525 0.542 0.481 0.658
'G1-133-102' control 2070 0.367 0.326 0.386 0.219 0.301 0.231 0.339 0.247 0.291
'G3-153-102' vaccinated 150 0.890 0.524 0.928 0.403 0.919 0.593 0.901 0.379 0.647
'G3-200-102' vaccinated 97 1.370 0.957 1.183 0.658 1.103 0.981 1.051 0.534 1.144
'G3-807-102' vaccinated 606 0.975 0.706 1.058 0.626 1.135 0.967 0.938 0.428 1.035",
header = TRUE, stringsAsFactors = FALSE)
推荐阅读
- command-line - 尝试根据文件大小重命名文件
- amazon-web-services - Ansible AWS 创建按实例标签分组的 IP 地址字典
- ios - 如何在我的协议中正确使用 associatedType
- r - DataTable 中的用户输入用于重新计算和更新 Shiny 中的列
- django - NoReverseMatch:未找到带有参数 '('',)' 的 'add_solution' 的反向。尝试了 1 种模式:['share/(?P
\\d+)/add_solution/$'] - asp.net-core - asp core:“共享”文件夹的配置位置以及如何更改其路径?
- google-oauth - 使用 google oauth2 登录并使用 API 获取联系人
- objective-c - 防止在 Swift 中继承 Objective-C 类
- r - 如何在 R 中的 1 个 x 轴上绘制 2 列(ggplot2)
- javascript - Javascript/HTML5:全屏视频源(网络摄像头或类似)