我正在与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
,而不是第二个,但我不知道如何。
答案 0 :(得分:4)
问题是你的push!()
方法不会生成2x2矩阵,而是生成Vector {Any,2}。因此,size(vls,2)
为1,与length(cnms)
不匹配,即2。
您可能正在寻找hcat(v1,v2)
?