It'd probably be fastest if you can pre-allocate your array:
A = Array(ASCIIString, 3, 2)
for i=1:size(A, 1)
A[i, 1] = string('w'+i, 1)
A[i, 2] = string('w'+i, 2)
end
If you don't know how many elements you'll have, you can use two column
vectors, `c1` and `c2`, and push to them independently. Then horizontally
concatenate them together to get your resulting `A = [c1 c2]`.
On Tuesday, April 12, 2016 at 10:38:41 AM UTC-4, Fred wrote:
>
> Thank you very much Tim !
>
> In fact I want to create an X,Y array so if I create a 1D array, I can
> only append to it (x1,y1) then (x2,y2)... (xn, yn), because I calculate x1
> before x2...
>
> julia> d = ["x1", "y1", "x2", "y2", "x3", "y3"]
> 6-element Array{ASCIIString,1}:
> "x1"
> "y1"
> "x2"
> "y2"
> "x3"
> "y3"
>
> julia> reshape(d,3,2)
> 3x2 Array{ASCIIString,2}:
> "x1" "y2"
> "y1" "x3"
> "x2" "y3"
>
> you see the problem ? instead I would like to have :
> x1 y1
> x2 y2
> ..
> xn yn
>
> because I want to be able to work on columns and line ... of course
> another easy solution is to use dataframes, but I tried with arrays because
> the code should be faster... :)
>
> Le mardi 12 avril 2016 16:27:50 UTC+2, Tim Holy a écrit :
>>
>> Note that in `a = Array{Float64,2}`, `a` is a *type*, not an *instance*.
>> You
>> presumably mean `a = Array(Float64, 0, 0)`.
>>
>> But Yichao is right that you can't grow a 2d array, only a 1d one.
>>
>> Best,
>> --Tim
>>
>