如何从多个数据帧创建热图

2024-01-01

我对 R 还很陌生,并且一直困惑于如何从列表中的多个数据帧创建热图。

每个数据框中有 3 列:X 位置、Y 位置、PatchStatus

第一个数据框如下所示:

listofdfs <- list() #list of dataframes
listofdfs[1]

  allPoints.xLocs allPoints.yLocs allPoints.patchStatus
1       67.30330212       87.857495                     0
2       69.60800088       77.959314                     0
3       74.63313295       93.059260                     0
4       92.59099136       77.732215                     1
5       18.05288289       61.200910                     1
6       55.83499856       50.993785                     0
7       12.15664148       58.220179                     1
8       41.50413859       92.529054                     0
9       83.08209025       24.567501                     0
10      53.50615149       46.339927                     0

...依此类推,最多 100 分

每个数据帧将具有相同的 X 和 Y 位置,但补丁状态将不同(可以是 0 或 1)。

我的目标是创建一个结合所有数据帧(我打算有 10-15 个数据帧)的热图,显示更容易出现状态“1”的补丁。任何帮助将不胜感激。谢谢。


Data:

df <- read.table(text = "allPoints.xLocs allPoints.yLocs allPoints.patchStatus
1       67.30330212       87.857495                     0
                 2       69.60800088       77.959314                     0
                 3       74.63313295       93.059260                     0
                 4       92.59099136       77.732215                     1
                 5       18.05288289       61.200910                     1
                 6       55.83499856       50.993785                     0
                 7       12.15664148       58.220179                     1
                 8       41.50413859       92.529054                     0
                 9       83.08209025       24.567501                     0
                 10      53.50615149       46.339927                     0", header = TRUE, stringsAsFactors = FALSE)

listofdfs <- list(df, df)

Code:

library('data.table')
listofdfs <- lapply(seq_len(length(listofdfs)), function(i){
  x <- listofdfs[[i]]
  # assign id and combine x and y coordinates
  setDT(x)[, `:=` ( id = i, coords = paste0(allPoints.xLocs, ",", allPoints.yLocs)) ]
} )

# combine list into a data table.
df2 <- rbindlist(l = listofdfs)

Plot

library('ggplot2')
ggplot( data = df2, mapping = aes( x = coords, y = factor(id) ) ) +  # draw heatmap
  geom_tile( aes( fill = factor(allPoints.patchStatus) ),  colour = "white") +
  coord_flip() + 
  scale_fill_discrete(name = "Patch Status") +
  labs( x = "Coordinates", y = "Data Frame Number")

Graph:

您可以循环遍历数据帧列表并为每个数据帧创建热图。下面,我将展示如何获取一个数据帧的热图。

Plot-2

ggplot( data = df, mapping = aes( x = factor(allPoints.xLocs), y = factor(allPoints.yLocs) ) ) + 
  geom_tile( aes( fill = factor(allPoints.patchStatus) ),  colour = "white") +
  scale_fill_discrete(name = "Patch Status") +
  labs( x = "X-Coordinate", y = "Y-Coordinate") +
  theme_bw() + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Graph-2

Plot-3 df数据是从上面使用的 - 参见Data顶部的部分。

library('data.table')
listofdfs <- list(df, df)
df2 <- rbindlist(l = listofdfs)
df2 <- df2[, .(sum_patch = sum(allPoints.patchStatus)), by = .(allPoints.xLocs, allPoints.yLocs)]

library('ggplot2')
ggplot( data = df2, mapping = aes( x = factor(allPoints.xLocs), y = factor(allPoints.yLocs) ) ) + 
  geom_tile( aes( fill = sum_patch ),  colour = "white") +
  labs( x = "X-Coordinate", y = "Y-Coordinate") +
  theme_bw() + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Graph-3:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从多个数据帧创建热图 的相关文章

  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 如何在 R 中为传单中的数值变量设置不对称颜色渐变

    我想让传单调色板以零为中心 红白绿发散 我已经尝试过中所说的这个帖子 https stackoverflow com questions 29262824 r center color palette on 0 当我尝试手动创建颜色时 我得
  • 如何找到多个 pandas 数据框中一对列与任意顺序对的交集?

    我有多个 pandas 数据框 为了简单起见 假设我有三个 gt gt df1 col1 col2 id1 A B id2 C D id3 B A id4 E F gt gt df2 col1 col2 id1 B A id2 D C id
  • 如何获得属于五分位数的x?

    我正在大学学习使用 R 进行计量经济学项目 所以请原谅我的笨拙 基本上 使用并给出 一个矩阵 股票价格 行 天 列 公司股票价格 另一个矩阵 市值 行 天 列 公司市值 我必须收集第三个矩阵每天观察的属于市值分布第一五分位数的股票价格 然后
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 从 R 环境中删除对象

    我正在阅读 Hadley 的 Advanced R 在第 8 章中 他说我们可以使用以下方法从环境中删除对象 rm 但是 移除该物体后我仍然可以看到该物体 这是我的代码 e lt new env e a lt 1 e b lt 2 e a
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 逻辑回归/二项式的 glmnet 误差

    当尝试将 glmnet 与 family binomial 配合以进行逻辑回归拟合时 出现此错误 gt data lt read csv DAFMM HE16 matrix csv header F gt x lt as data fram
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • ggplot2、R 中的单条形条形图

    我有以下数据和代码 gt ddf var1 var2 1 aa 73 2 bb 18 3 cc 9 gt gt dput ddf structure list var1 c aa bb cc var2 c 73L 18L 9L Names
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • PyCUDA/CUDA:不确定性启动失败的原因?

    任何关注 CUDA 的人可能都会看到我对我所参与的项目提出的一些疑问 但对于那些没有见过的人 我将进行总结 抱歉提前问了一个很长的问题 三个内核 一个基于一些输入变量生成数据集 处理位组合 因此可以呈指数增长 另一个解决这些生成的线性系统
  • 如何使用 Spray.io 构建 RESTful API?

    当我使用 Spray io 开发 RESTful API 时 我应该如何构建我的应用程序 我已经看到了这个答案 https stackoverflow com a 14653989 396002关于如何拆分 Spray 应用程序 但我对此不
  • 什么时候不应该使用分号?

    Or 什么不是 T SQL 语句 除了解决歧义之外 T SQL 语法不需要分号来终止语句 尽管如此 伊齐克 本 甘 http www sqlmag com blog puzzled by t sql blog 15 tsql semicol
  • 我在 VBA 中的代码使索引超出范围,但我确信数组的长度正确[重复]

    这个问题在这里已经有答案了 我需要设置val1 and val2分配给变量的数字total 无论我改变变量什么totalto 0 8 表示索引越界 我还打印了我用 MsgBox 引用的每个列表的长度 它显示为 8 我尝试将索引更改为该范围内
  • Rails 将无效路由重定向到 root

    如果我的网站是www foo com如果用户输入www foo com blahblahblah它会说 blahblahblah是一个无效的路径 显然 但我希望它重定向到 root path 以便控制器可以处理 URL 页面www foo
  • 发布版本中的 Swift 链接器错误可通过添加代码修复

    在 Xcode 8 中 我的一个 Swift 项目在调试模式下工作 但在发布模式下无法链接 Undefined symbols for architecture x86 64 Swift UnsafeMutableBufferPointer
  • Android通过蓝牙发送命令失败

    我将实现从 Android 平板电脑向嵌入蓝牙 IC 芯片 Andrino HC 06 的电子设备发送命令的模块 以便通过蓝牙配置我的设备 执行时 发送时设备似乎没有可观察到的响应22 23 54 01 C8 它显示以下超时异常 预计设备将
  • 在 pyqt 中禁用 QComboBox

    是否可以禁用QComboBox在 pyqt 中 就像我们可以在 Win Forms C 中一样 因为我在QComboBox手动的 我想启用QcomboBox仅当管理员登录时 我找到了我的问题的答案 QComboBox setEnabled
  • 我应该如何诊断和防止 JVM 崩溃?

    当我遇到 JVM 崩溃时 我 作为一个对 JVM 内部结构一无所知的 Java 程序员 应该做什么 特别是 您将如何生成可重现的测试用例 我应该在 Sun 或 IBM 的 bug 数据库中搜索什么 我可以从生成的日志文件中获取哪些信息 例如
  • 为什么 CLR/CLI 项目中没有智能感知

    我不知道我是否做错了什么 但是当我尝试编写代码时 没有智能感知弹出窗口指示选项或错误 我正在使用 Microsoft 的 Visual C 2010 创建 CLR CLI 类型的项目 请参阅 2009 年 5 月这篇博文中的第二条评论 ht
  • 当 API 不允许 Access-Control-Allow-Origin 时该怎么办

    我对所有这些同源策略的事情感到疯狂 当我尝试向 Google Maps API 发出请求时 没有出现任何问题 var jsonData ajax url http maps googleapis com maps api geocode j
  • 使用 Vue 单击并编辑文本输入

    我正在寻找一个点击并编辑的 Vue 组件 我发现了a fiddle https jsfiddle net ppyeo1tg 611 并做了一些编辑 它的工作原理如下 小提琴在这里 https jsfiddle net ppyeo1tg 61
  • CakePHP 用 MAX 查找

    表格和虚拟数据 CREATE TABLE IF NOT EXISTS messages id int 11 unsigned NOT NULL auto increment user id int 11 unsigned NOT NULL
  • Mayavi:在 triangular_mesh 中插入面部颜色

    我已经拼凑了 以下代码使用指定的颜色绘制三角形网格 附加标量函数 usr bin env python import numpy as np from mayavi import mlab Create cone n 8 t np lins
  • 将元素定位在

    我有一个Fiddle http jsfiddle net pTNqe 9 其中包含一个 div 一些文本和一个按钮 我想将按钮放置在 div 的右上角 无论 div 有多大 或者 div 中有多少文本 我想像 float right pos
  • 如何在 flutter 中使用粘性组列表时选择多个项目

    在这里解释一下我想要什么 我从 GitHub 获得了这段代码 当用户开始选择项目时 我想要带有操作按钮的应用栏 就像多个项目选择和应用栏显示所选项目的数量 我可以使用 ListViewbuilder 轻松完成此操作 但不知道如何在使用粘性组
  • SwiftUI:如何仅在需要时更新从父视图传输的变量?

    我想将变量从父视图传递到子视图 但在此子视图中 在文本字段中使用它 但仅在按下 保存 按钮时更新此值 我试过这个 父视图 struct ParentView View State private var name String var bo
  • “奇怪的”C# 属性语法

    我刚刚在一个 c 项目中看到了这个 public char this int index 我认为自己是 C 新手 任何人都可以帮助它的含义是什么 它是一个索引器 索引器允许对类或结构的实例进行索引 就像 数组 索引器类似于属性 只是它们的访
  • PowerBI:将列拆分为单独的列

    我有一个正在导入的类别多选字段 其中包含多个用逗号分隔的值 农业 小额信贷 和平建设 我的主要本能是使用文本函数将每个值拆分为单独的列 但我想知道是否有更好 更简单的方法来做到这一点 好的 找到了 在数据视图中打开编辑查询 右键单击该列 拆
  • 如何从多个数据帧创建热图

    我对 R 还很陌生 并且一直困惑于如何从列表中的多个数据帧创建热图 每个数据框中有 3 列 X 位置 Y 位置 PatchStatus 第一个数据框如下所示 listofdfs lt list list of dataframes list