Le mardi 24 février 2015 à 07:03 -0800, Pooya a écrit :
> Thanks for your suggestion. DataFrames should work well for my
> application. I am not sure about the differences of NamedArrays and
> DataFrames. I can see that in NamedArrays one can name rows as well.
> Is that all? Or are there other reasons why one might use one instead
> of the other?
That's kind of the same difference as between DataArray and DataFrame. a
NamedArray simply wraps an array by adding names to it, while a
DataFrame is a set of vectors which have each their own element type.
DataFrames are intended for database-like data, while arrays are useful
when you want to use matrix algebra and things like that.


Regards

> On Saturday, February 21, 2015 at 5:08:44 AM UTC-5, Milan Bouchet-Valat wrote:
>         Le vendredi 20 février 2015 à 22:26 -0800, Viral Shah a écrit : 
>         > You could explore DataArrays. 
>         > https://github.com/JuliaStats/DataArrays.jl 
>         I guess you mean DataFrames? Indeed, the column names would provide 
> the 
>         equivalent of your variables/subfields. 
>         
>         flows.out wouldn't be possible, but you can always create a names 
> like 
>         flows_out, flows_in... to keep a mental representation of categories. 
> Is 
>         that enough for you? 
>         
>         > If you do not need to otherwise manipulate the whole array directly 
>         > (like say do an svd on the 100x30 matrix), and only work with the 
>         > fields, it would be best to create a composite type with those 
> field 
>         > names. 
>         OTOH if you need a real array, not a set of columns, you can explore 
>         NamedArrays instead of DataFrames. 
>         
>         
>         Regards 
>         
>         > -viral 
>         > 
>         > On Saturday, February 21, 2015 at 7:18:24 AM UTC+5:30, Pooya wrote: 
>         >         Hi there, 
>         >         
>         >         
>         >         I am new to Julia, trying to transfer all I do from MATLAB 
> to 
>         >         Julia. I have a bunch of matrices of numerical data (say 
>         >         100x30). In order to keep track of what each column is 
>         >         representing, I defined different variables (say flows) 
> whose 
>         >         values were the associated column number in MATLAB. Now I 
> can 
>         >         use data(:,flows) instead of data(:,X), so I don't need to 
>         >         worry about the column orders and numbers every time I need 
> to 
>         >         use the data. In order to avoid mistakes I was using 
> "struct" 
>         >         in MATLAB to avoid introducing many new variables into each 
>         >         code that I have. Then all those constant values (column 
>         >         numbers) were defined in a function (say myconstants) and 
> when 
>         >         I needed to use them, I would just say C = myconstants, and 
>         >         then use C.flow for the column number. The problem is that 
>         >         there are a few categories of these constants, and they all 
>         >         have subfields with meaningful names and values 
> representing 
>         >         the column number in each matrix of data. In MATLAB all I 
>         >         needed to define these was for example, C.flows.out = 5. 
>         >         
>         >         
>         >         I am now thinking of the best way to handle this in Julia. 
> I 
>         >         have learnt a bit about immutable composite types. But 
> first, 
>         >         because they do not accept default values, the code will be 
>         >         very messy with a lot of different fields. I am also not 
> sure 
>         >         if you can define the fields of an immutable to be an 
>         >         immutable type itself. Is that possible? Any ideas on 
> better 
>         >         ways to handle this situation? In addition, if I use 
> composite 
>         >         types it seems that I am using a very powerful thing 
>         >         (composite types) for a very basic application! Any 
> thoughts 
>         >         are greatly appreciated. 
>         >         
>         >         
>         >         Thanks, 
>         >         Pooya 
>         

Reply via email to