MATLAB - 根据某些标准提取表中选定的行

2023-12-24

假设我有一个这样的表:

post   user         date
____   ____   ________________
 1      A     12.01.2014 13:05
 2      B     15.01.2014 20:17
 3      A     16.01.2014 05:22

我想创建一个较小的表(但不删除原始表!),其中包含(例如)用户 A 的所有帖子,包括发布这些帖子的日期。

当看着MATLAB 文档 http://de.mathworks.com/help/matlab/matlab_prog/add-and-delete-table-rows.html(请参阅删除行的最后一部分)我发现 MATLAB 允许您根据某些标准为表创建掩码。所以就我而言,如果我这样做:

postsA = myTable.user == 'A'

我得到一个很好的掩模向量,如下所示:

>> postsA = 
       1
       0
       1

哪里的1s显然这些行是myTable,满足我给出的规则。

在文档中,我指出上面的行已从原始表中删除:

postsNotA = myTable.user ~= 'A' % note that I have to reverse the criterion since I'm choosing stuff that will be removed
myTable(postsNotA,:) = [];

然而,如上所述,我不想碰我原来的桌子。一种可能的解决方案是创建一个包含两列的空表:

post  date
____  ____

迭代原始表的所有行,同时还查看掩码向量的当前值postsA如果它等于 1,则复制我感兴趣的该行中的两列,并将这个缩小的行连接到我的较小表中。我想知道是否有一个或多或少1-2行长的解决方案来解决这个问题?


假设myTable是你原来的表。

你可以这样做

myTable(myTable.user == 'A',:)

示例代码:

user = ['A';'B';'A';'C';'B'];
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T = table(user,Age,Height,Weight,BloodPressure)
T(T.user=='A',:)

Gives:

T =

user    Age    Height    Weight          BloodPressure      
____    ___    ______    ______    _________________________

A       38     71        176       124                    93
B       43     69        163       109                    77
A       38     64        131       125                    83
C       40     67        133       117                    75
B       49     64        119       122                    80

ans =

user    Age    Height    Weight          BloodPressure      
____    ___    ______    ______    _________________________

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

MATLAB - 根据某些标准提取表中选定的行 的相关文章

  • 对多个属性使用一种设置方法 MATLAB

    我有几个属性基本上使用相同的属性set method classdef MyClass properties A B end methods function mc MyClass a b Constructor mc A a mc B b
  • 如何让MCR启动时间快

    我将 matlab 程序转换为 net 程序集 即 dll 文件 我制作了一个控制台 C 应用程序 添加了 dll 文件并从 php 调用它 每次调用 exe 时都会调用 MCR 如何使 MCR 在服务器启动时初始化 并且即使在一段时间后调
  • 根据用户输入将 n 个反应式单选按钮添加到闪亮的应用程序

    我正在尝试创建一个闪亮的应用程序 用户可以在其中从数据框中选择变量以便对数据进行子集化 输出 最终 将是包含用户子集的数据表 我需要根据用户为子集选择的变量数量创建 n 个输入框 理想情况下 输入框将是动态单选按钮 用于子集因子 我还没有开
  • 在 MATLAB 中使用 FFT 的频率响应

    这是场景 使用频谱分析仪 我有输入值和输出值 样本数是32000采样率为2000样本 秒 输入是正弦波50 hz 输入为电流 输出为压力 单位 psi 我如何使用 MATLAB 根据这些数据计算频率响应 使用 MATLAB 中的 FFT 函
  • MATLAB 中时间戳过滤器的优化 - 处理非常大的数据集

    我正在 MATLAB 中编写一个程序 必须使用 MATLAB 并且不能真正使用 MEX 来过滤大量数据 我需要实现的过滤器之一要求我将时间戳向量与其他时间戳不会出现的已知 不良 时间列表进行比较 一个典型的时间戳向量有大约 2 000 00
  • 将字符串中的一个字符替换为另一个字符

    我有如下数据 A B C D 我想更换C与数据 例如 Z 这样它可能看起来像 A B Z D 我该怎么做 SUBSTITUTE A1 C Z 虽然我不清楚你是否想要G or Z 你提到G但你的示例输出显示Z
  • 扩展 MATLAB 函数名称的最大长度

    我编写了一个 MATLAB 程序 可以动态创建自定义 MATLAB 函数 并使用以下命令在其他 MATLAB 实例中启动它们unix命令 我使用这个程序来自动化 fMRI 神经影像分析 使用 SPM8 for MATLAB 一切正常 但是
  • R data.table:在当前测量之前对出现次数进行计数

    我有一组在几天内进行的测量结果 测量次数通常为 4 任何测量中可以捕获的数字范围为 1 5 在现实生活中 给定测试集 范围可能高达 100 或低至 20 我想每天计算每个值在当天之前发生的次数 让我用一些示例数据来解释 test data
  • Matlab - 如果值包含xxx,则删除元胞数组中的行

    在 Matlab 中 如何删除包含变量字符串的元胞数组中的元胞 假设我的元胞数组是 C svnTrunk RadarLib radarlb utilities scatteredInterpolant m C svnTrunk RadarL
  • 如何使用matlab生成不同频率的正弦波?

    对于我的项目 我需要使用 matlab 生成一个正弦波 它有 100 000 个样本 并且频率在每 10 000 个样本后随机变化 采样率和频率可以根据方便而定 matlab中有没有函数可以生成这个 好的另一个例子 生成 5 个随机频率 r
  • Python 函数句柄 ala Matlab

    在 MATLAB 中可以创建function handles http www mathworks co uk help techdoc ref function handle html与类似的东西 myfun arglist body 这
  • 在 matlab 中求 3d 峰的体积

    现在我有一个带有峰值的 3D 散点图 我需要找到其体积 我的数据来自图像 因此 x 和 y 值表示 xy 平面上的像素位置 z 值是每个像素的像素值 这是我的散点图 scatter3 x y z 20 z filled 我试图找到数据峰值的
  • 我应该如何提取java中的压缩文件夹?

    我正在使用以下代码在 Java 中提取 zip 文件 import java io import java util zip class testZipFiles public static void main String args tr
  • data.table 的最大按组和条件

    我有这样的数据 library data table group lt c a a a b b b cond lt c N Y N Y Y N value lt c 2 1 3 4 2 5 dt lt data table group co
  • data.table `:=` 具有动态输入(现有列)和输出(新列名称)的赋值表达式

    Note 我在这个问题中遇到的确切问题不适用于最新版本的数据表 如果您想做标题中描述的事情 请查看软件包常见问题解答中的相应问题 1 6 好的 但我事先不知道表达方式 我如何以编程方式传递它们 https rawgit com wiki R
  • 检查相等性

    我想检查数据集的相等性 数据集看起来像这样 Equips lt c 1 1 1 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 7 8 Notifs lt c 10 10 20 55 63 6
  • 如何根据时间戳列制作时间跨度列?

    我有一个数据表 其中第 1 列中包含时间戳 第 2 列中包含事件 时间戳的格式为Y m d H M OS3 e g 2019 09 26 07 29 22 778 我想添加一个新列 其中包含时间戳 2 到时间戳 1 之间的差异的时间跨度值
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • 将不规则时间序列拆分为规则月平均值 - R

    为了确定季节性对能源使用的影响 我需要将计费数据库中的能源使用信息与每月温度进行调整 我正在使用一个计费数据集 其中包含不同长度以及开始日期和结束日期的账单 并且我希望获得每个月内每个帐户的月平均值 例如 我有一个计费数据库 具有以下特征

随机推荐