具有相同标签的列的平均值

2024-03-02

我有两个向量

data vector: A = [1 2 2 1 2 6; 2 3 2 3 3 5]
label vector: B = [1 2 1 2 3 NaN]

我想取具有相同标签的所有列的平均值,并将它们输出为按标签号排序的矩阵,忽略 NaN。所以,在这个例子中我想要:

labelmean(A,B) = [1.5 1.5 2; 2 3 3]

这可以通过像这样的 for 循环来完成。

function out = labelmean(data,label)
out=[];
for i=unique(label)
    if isnan(i); continue; end
    out = [out, mean(data(:,label==i),2)];
end 

但是,我正在处理包含许多数据点和标签的巨大数组。此外,此代码片段将经常执行。我想知道是否有一种更有效的方法可以做到这一点,而无需循环遍历每个单独的标签。


这是一种方法:

  1. 获取不包含的标签索引NaNs.
  2. 创建一个由 0 和 1 组成的稀疏矩阵,乘以A将给出所需的行总和。
  3. 将该矩阵除以每列的总和,使总和变为平均值。
  4. 应用矩阵乘法得到结果,并转换为满矩阵。

Code:

I = find(~isnan(B));                                 % step 1
t = sparse(I, B(I), 1, size(A,2), max(B(I)));        % step 2
t = bsxfun(@rdivide, t, sum(t,1));                   % step 3
result = full(A*t);                                  % step 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有相同标签的列的平均值 的相关文章

  • 读取 MEX 文件中的 4D 数组

    我在 MATLAB 中有一个 4 维数组 我正在尝试访问 MEX 函数中的数组 下面创建 testmatrix 一个 4 维矩阵 已知数据为uint8 type Create a 4D array 2x 2y rgb 3 framenumb
  • MATLAB 引擎函数的输入参数

    我正在尝试使用 MATLAB 引擎在 Python 中调用 MATLAB 函数 但遇到一些问题 在设法将 NumPy 数组作为函数的输入处理后 现在 MATLAB 出现一些错误 MatlabExecutionError 未定义输入函数 si
  • 这段代码可以优化吗?

    我有一些图像处理代码 循环遍历 2 个多维字节数组 大小相同 它从源数组中获取一个值 对其执行计算 然后将结果存储在另一个数组中 int xSize ResultImageData GetLength 0 int ySize ResultI
  • 流式音频播放延迟(约 200 毫秒)

    我有一个播放流式音频数据的应用程序 如聊天客户端 该工作流程涉及三个简单步骤 首先发送文件头信息 采样率 每个样本的位数和通道数 音频波形输出设备根据上述参数进行初始化 音频 pcm 数据被发送并在上述设备上播放 数据接收代码是本机的 C
  • 简化 Django 中的表单提交

    我在 Django 中有一个表单 用户可以在其中以单个表单提交文件 图像 文本 如下所示
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 如何使用 UIImagePickerController 呈现 ViewController

    我试图提出一个ImagePicker 然后在用户选择图像后 呈现图像编辑ViewController用户可以在其中操作图像 然后将编辑后的图像发送回原始图像ViewController 问题 是否有一种标准或最佳实践方法从初始 ViewCo
  • 是否可以将向量的一部分作为向量发送给函数? [复制]

    这个问题在这里已经有答案了 我想看看是否可以将向量的一部分传递给函数 以便它显示为函数的法线向量 更重要的是 我希望这可以在 O 1 的常数时间内完成 我不想迭代向量来创建一个新向量 事实上 我还希望在下面的示例中将新向量的大小更改为 40
  • 如何使用Python优化大型数据集的API调用?

    客观的 将地址列表发送到 API 并提取某些信息 例如 指示地址是否位于洪水区域的标志 Solution 适用于小数据的 Python 脚本 Problem 我想针对大输入优化当前的解决方案 如何提高 API 调用的性能 如果我有 100
  • 在Matlab中将矩阵中的元素i,j设置为i*j

    我想生成一个矩阵 其中 i j 元素等于 i j 其中 i j e g 0 2 3 2 0 6 3 6 0 到目前为止 我已经发现我可以使用这个索引矩阵访问非对角线元素 idx 1 eye 3 但我还没有弄清楚如何将矩阵单元的索引合并到计算
  • 二维向量的迭代器

    如何为 2d 向量 向量的向量 创建迭代器 虽然你的问题是not非常清楚 我假设您的意思是 2D 向量表示向量的向量 vector lt vector
  • MATLAB 图像锐化 - 使用(1-高斯低通滤波器)的高斯高通滤波器

    我试图通过设计高斯高通滤波器来锐化图像 我想利用高通滤波器相当于单位矩阵减去低通滤波器的事实来做到这一点 所以我执行了以下操作 image imread Question3 Data Cats jpg read image H 1 fspe
  • 如何在 MATLAB 中创建带有分级标记颜色的散点图?

    我想在 MATLAB 中绘制一个简单的散点图 标记颜色从光谱的一端到另一端各不相同 例如红色 橙色 黄色 蓝色 紫色 我的数据比较了一段时间内河流的水量和水质 3 个简单的列 时间 水量 质量 我想绘制数量与质量的 x y 散点图 但颜色随
  • 如何打开 matlab p 代码文件

    有谁知道如何查看 matlab p 代码文件的代码 p 代码文件专门存在 以便您可以共享代码 以便其他人无法查看它 换句话说 您看不到 Matlab p 代码文件的代码
  • 比较元胞数组中的字符串

    我试图在单词列表中找到最常见的单词 到目前为止 这是我的代码 uniWords unique lower words for i 1 length words for j 1 length uniWords if uniWords j lo
  • 如何通过点积获得峰值 CPU 性能?

    Problem 我一直在研究 HPC 特别是使用矩阵乘法作为我的项目 请参阅我的个人资料中的其他帖子 我在这些方面取得了不错的成绩 但还不够好 我退后一步 看看我在点积计算方面能做得如何 点积与矩阵乘法 点积更简单 并且允许我测试 HPC
  • 了解 Tensorflow 中的 while 循环

    我正在使用用于 Tensorflow 的 Python API https www tensorflow org api docs python 我正在努力实施罗森布罗克函数 https www sfu ca ssurjano rosen
  • 使用 libsvm 交叉验证后重新训练

    我知道交叉验证用于选择好的参数 找到它们后 我需要在不使用 v 选项的情况下重新训练整个数据 但我面临的问题是 在使用 v 选项训练后 我得到了交叉验证精度 例如 85 没有模型 我看不到 C 和 gamma 的值 在这种情况下我该如何重新
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • 将 Matlab MEX 文件中的函数直接嵌入到 Python 中

    我正在使用专有的 Matlab MEX 文件在 Matlab 中导入一些仿真结果 当然没有可用的源代码 Matlab 的接口实际上非常简单 因为只有一个函数 返回一个 Matlab 结构体 我想知道是否有任何方法可以直接从Python调用M

随机推荐

  • 如何使用两个不同的节点版本运行两个不同的nodejs应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有两个 Node js 应用程序 这两个应用程序不能在同一节点版本中运行 一个应用程序只能在node4 8 3中运行 另一个应用程
  • MapFragment 样式为 Dialog 导致 TextView 透明

    这是设置 我正在构建和显示样式为居中对话框的活动 这是为了显示不应在设备上全屏显示的分层内容 一种类型的内容是地图 所以我已经成功地将 MapFragment 加载到对话框样式的 FragmentActivity 中 这确实有效 问题是当我
  • 在 Python、NumPy 和 R 中创建相同的随机数序列

    Python NumPy 和 R 都使用相同的算法 Mersenne Twister 来生成随机数序列 因此 从理论上讲 设置相同的种子应该会在所有 3 个中产生相同的随机数序列 但事实并非如此 我认为这 3 个实现使用不同的参数导致了这种
  • 使用 Cocoa 和 Core Data 自动保存

    我正在开发一个非基于文档的核心数据应用程序 我希望更改发生时能够保存 这是用户对此类应用程序的期望 这也是苹果公司实施的iPhoto or iTunes 一种强力方法是设置一个计时器来频繁保存 然后 由保存触发的方法将吞掉所有验证错误 以免
  • Emacs 使用 Git-Rebase 将缓冲区恢复到奇怪的先前状态

    我在 OS X 上使用 Emacs 23 3 1 我从终端发出 git 命令 而不使用任何 Emacs 的 VC 功能 我将 Emacs 设置为在修改文件时刷新 这是通过我的 emacs 文件中的这些行启用的 custom set vari
  • 使用 javascript 处理文本区域上的 Enter 键

    我在页面上有 5 个文本区域 我希望在第一个文本区域上按 Enter 键时发生特定事件 在其他文本区域上按 Enter 键时发生不同的事件 您能否建议如何实现这一目标
  • 替代

    我正在尝试修复为我编写的旧脚本 我需要它运行而无需 我想从脚本内部运行该函数 而无需像该命令那样的内联代码 抱歉 我不是 JS 专家 但是我该怎么做呢 或者 如果您使用的是 jQuery function Your code here
  • BITS 多域传输文件

    如何在不同域的服务器之间传输文件 i e PS C Users Desktop gt Import Module bitstransfer PS C Users Desktop gt c get credential PS C Users
  • 在R中进行线性回归时,如何有条件地删除因子的NA观察?

    我正在尝试在 R 中建立一个简单的线性回归模型 模型中有三个因子变量 模型是 lm Exercise Econ Job Position 其中 锻炼 是数字因变量 即锻炼的时间量 经济 工作 职位 都是因子变量 经济 是指一个人是否有工作
  • 需要 T SQL 合并示例来帮助理解

    下列 MERGE dbo commissions history AS target USING SELECT amount requestID AS source amount request ON target request sour
  • 如何对齐SpriteBatch.DrawString绘制的文本?

    有没有一种简单的方法可以将文本向右和居中对齐 而不是默认的左对齐 我使用这段代码 Flags public enum Alignment Center 0 Left 1 Right 2 Top 4 Bottom 8 public void
  • C# double 未按预期工作[重复]

    这个问题在这里已经有答案了 我知道双精度数是小数 在下面的程序中 输出是 1 尽管我认为它会重复 1 05 static void Main string args double d 19 18 Console WriteLine d Co
  • 从结构数组中选择 Spark DataFrames 中的特定列

    我有一个 Spark 数据框df具有以下架构 root k integer nullable false v array nullable true element struct containsNull true a integer nu
  • 使用 VS Code 远程 Docker 容器网络挂起 5 秒

    我有 3 个服务 共享同一网络的 webapp app 数据库 db 和 redis rd 随机地 两个服务 数据库和 Redis 的连接都会挂起大约 5 秒 不仅当我运行连接到数据库的网络服务器时 甚至当我浏览网页上的链接时也是如此 有时
  • 如何在 git 中列出版本控制的文件?

    我想列出 git 存储库根目录中的版本控制文件 要在集市中执行相同的操作 您可以运行 bzr ls versioned non recursive 我如何在 git 中执行此操作 如果您准确描述要显示的列表 将会更有帮助 从 bzr 文档猜
  • SQL Server 查询处理器耗尽内部资源

    Query update mytable set mycol null where id in 583048 583049 50000 more Message 查询处理器耗尽了内部资源并且无法 生成查询计划 这是一个罕见的事件 仅预计 极
  • Kinesis lambda DynamoDB

    我正在学习 AWS 服务的一个用例 在浏览完文档后 我想出了一个简单的流程 我想使用 Streams API 和 KPL 将数据提取到 Kinesis 流中 我使用示例 putRecord 方法将数据提取到流中 我正在将此 JSON 摄取到
  • Windows Phone 8 cordova视口高度问题

    我们用 cordova 开发了一个 Windows Phone 8 应用程序 可以正常使用 但是在 windows Phone 8 之后8 0 10328 78释放页脚即可清理 我之前检查过代码 我得到的视口高度为 768 现在为 800
  • 自定义 Android 中的警报对话框

    我想在警报对话框的浅色背景上显示深色文本 但我不知道该怎么做 请帮我 Thanks 您可以在 XML 视图中创建自己的布局 就像创建活动一样
  • 具有相同标签的列的平均值

    我有两个向量 data vector A 1 2 2 1 2 6 2 3 2 3 3 5 label vector B 1 2 1 2 3 NaN 我想取具有相同标签的所有列的平均值 并将它们输出为按标签号排序的矩阵 忽略 NaN 所以 在