julia:如何声明一个多维数组

时间:2016-01-12 10:05:18

标签: multidimensional-array julia

我正在与Julia合作,现在我需要在TimeArray的包中使用名为TimeSeries的类型。

以下是TimeArray

的构造函数
TimeArray(timestamp::Vector{Date{ISOCalendar}}, values::Array{T,N}, colnames::Vector{ASCIIString})

所以我在这里做一个测试:

dts = [Date("2015-01-06"), Date("2015-01-07")]
vls = [[1, 2] [3, 4]]
cnms = ["v1", "v2"]
ta = TimeArray(dts, vls, cnms)

效果很好。

现在我有一些这样的数组:

[1, 2]
[3, 4]

这意味着我应该使用这些数组创建上面的vls

我试过这样:

v1 = [1, 2]
v2 = [3, 4]
vls = []
push!(vls, v1)
push!(vls, v2)

但是,我无法在此处使用TimeArray创建任何vls。我收到了这个错误:

  

列名必须与数组的宽度匹配

我还打印了两个vls 第一个是:

[1 3
 2 4]

第二个是:
任何[[1,2],[3,4]

所以我认为我必须构建第一个vls,而不是第二个,但我不知道如何。

1 个答案:

答案 0 :(得分:4)

问题是你的push!()方法不会生成2x2矩阵,而是生成Vector {Any,2}。因此,size(vls,2)为1,与length(cnms)不匹配,即2。

您可能正在寻找hcat(v1,v2)