Matlab里的PivotTable

作者:, 发表于

我贡献的源代码

查看该系列所有文章

Excel的数据透视表是一个很好用的功能,我写了一个Matlab版本,在处理上和Excel的透视表差不多,还差一个filter而已。

一个简单的例子:

let
    inMatrix = {
        '2009', 'Mon', 12, 31;
        '2009', 'Wed', 11, 34;
        '2009', 'Fri', 1, 4;
        '2009', 'Mon', 3, 4;
        '2009', 'Wed', 9, 6;
        '2009', 'Fri', 1, 4;
        '2010', 'Mon', 18, 15;
        '2010', 'Wed', 11, 21;
        '2010', 'Wed', 1, 4;
        };
then
    pivottable(inMatrix, 1, 2, 3, @sum) output a cell
            []    'Fri'    'Mon'    'Wed'
        '2009'    [  2]    [ 15]    [ 20]
        '2010'       []    [ 18]    [ 12]
    pivottable(inMatrix, [1 2], [], 3, @sum) output a cell
        '2009'    'Fri'    [ 2]
        '2009'    'Mon'    [15]
        '2009'    'Wed'    [20]
        '2010'    'Mon'    [18]
        '2010'    'Wed'    [12]
    pivottable(inMatrix, [], 2, 3, @sum) output a cell
        'Fri'    'Mon'    'Wed'
        [  2]    [ 33]    [ 32]

更多帮助可在Matlab命令行help pivottable。

我已经提交到了Matlab Central File Exchange,觉得好的同学们帮忙打个五颗星吧。

Q.E.D.


上一篇:Matlab中使用ADODB访问数据库2010年10月9日
Matlab的database工具箱只支持ODBC数据库连接,在使用之前需要先设置ODBC数据源。之前在Excel里用的是ADODB,使用ADODB的好处是无需设置ODBC源,似乎效率也

下一篇:计算VaR的VBA代码和Excel模板2012年1月7日
这个Excel模板使用参数法和历史法计算资产组合的VaR,两个函数分别是ParaVaR和HistVaR,是以前写的VaR Primer的一个实现。具体使用方法可参考模板以及VBA


  • 支持使用微薄、微信和QQ的账户登陆进行评论。由各自网站直接认证,不会泄露你的密码。
  • 登陆后可选择分享评论到所绑定的社交网络,如微薄、人人和QQ空间。
  • 评论提交后无法修改。如需修改,请删除原评论再重新提交。
  • 评论支持LaTeX代码,行内公式请用\(a+b=c\),行间公式请用\[a+b=c\]。公式只支持英文字符。