Matlab中表的聚合/求和函数

Matlab中表的聚合/求和函数,matlab,sum,aggregate,Matlab,Sum,Aggregate,在matlab中,我从csv文件中读取了一个表,然后将我感兴趣的两列移到了一个新表中。这些列是“ID”(一个人的ID,1-400),然后是另一个表示其职业的ID(1-12) 我想做的是创建一个包含12条记录和2列的简单表,每个作业都有一条记录,拥有此作业的用户ID的数量必须进行聚合/求和,这样的表可以很容易地绘制条形图。目前我有400个用户记录,都有他们的ID和12个可能的工作ID中的一个 这很像一个SQL聚合/求和函数,但我想在Matlab中用一个表对象来实现它。我遇到的问题是如何在不使用单元

在matlab中,我从csv文件中读取了一个表,然后将我感兴趣的两列移到了一个新表中。这些列是“ID”(一个人的ID,1-400),然后是另一个表示其职业的ID(1-12)

我想做的是创建一个包含12条记录和2列的简单表,每个作业都有一条记录,拥有此作业的用户ID的数量必须进行聚合/求和,这样的表可以很容易地绘制条形图。目前我有400个用户记录,都有他们的ID和12个可能的工作ID中的一个

这很像一个SQL聚合/求和函数,但我想在Matlab中用一个表对象来实现它。我遇到的问题是如何在不使用单元格数组或类似的东西的情况下实现这一点


谢谢

没关系,解决了它。只是在作业编号中循环并运行“sum”,其中ID等于我想要的:

for i = 1:1:NumberOfJobs;
    JobCounts(i,:) = sum(OccupationTable(:,2) == i);

end

我知道您自己找到了答案,但我想提及
histc
函数,它避免了循环(对于较大的矩阵更快):

将其与作业编号相结合,可得到所需的结果:

result = [(1:NumberOfJobs)' JobCounts]; 

请将示例数据直接复制粘贴到matlab中,生成一个小但具有代表性的示例表。谢谢,这可能很有用,因为我的习题集包含9000多个条目,我需要对其进行多次排序
result = [(1:NumberOfJobs)' JobCounts];