在 MATLAB 中创建时间表数组
Creating array of timetables in MATLAB
我正在尝试对一系列 timetable
对象进行一些分析。每个都有可能不同的日期范围(它们代表时间序列的观察)。我想将这个 timetable
对象数组传递给一个函数。
使用 quandl
插件:
>> conn = quandl(<YOUR_API_KEY_HERE>);
>> z1 = history(conn, 'ZILLOW/M1300_MPPRSF');
>> z2 = history(conn, 'ZILLOW/M1300_MPPRAH');
然后尝试获取这两个时间序列并将它们分组到一个数组中(不将它们连接在一起):
>> [z1, z2]
Duplicate table variable name: 'Value'.
有没有一种方法可以做到这一点,这样我就可以将多个 timetables
保存到一个向量中,这样我就可以在不使用函数中的 varargin
的情况下迭代它们?
谢谢。
如果变量名称相同,则不能水平连接两个时间表。
我建议您创建一个时间表元胞数组并改用它。
>> {z1 z2}
您可能会发现 this 有关数据类型的文档页面很有用。
一种选择是创建时间表的元胞数组,然后使用 cellfun
执行分析。例如,如果您想对时间表执行 lag
计算,您可以执行以下操作:
myData = {z1, z2};
myLags cellfun(@lag, myArray);
我正在尝试对一系列 timetable
对象进行一些分析。每个都有可能不同的日期范围(它们代表时间序列的观察)。我想将这个 timetable
对象数组传递给一个函数。
使用 quandl
插件:
>> conn = quandl(<YOUR_API_KEY_HERE>);
>> z1 = history(conn, 'ZILLOW/M1300_MPPRSF');
>> z2 = history(conn, 'ZILLOW/M1300_MPPRAH');
然后尝试获取这两个时间序列并将它们分组到一个数组中(不将它们连接在一起):
>> [z1, z2]
Duplicate table variable name: 'Value'.
有没有一种方法可以做到这一点,这样我就可以将多个 timetables
保存到一个向量中,这样我就可以在不使用函数中的 varargin
的情况下迭代它们?
谢谢。
如果变量名称相同,则不能水平连接两个时间表。 我建议您创建一个时间表元胞数组并改用它。
>> {z1 z2}
您可能会发现 this 有关数据类型的文档页面很有用。
一种选择是创建时间表的元胞数组,然后使用 cellfun
执行分析。例如,如果您想对时间表执行 lag
计算,您可以执行以下操作:
myData = {z1, z2};
myLags cellfun(@lag, myArray);