Quite good improvements. Thanks! I like getrnames and setrnames!, That's 
much intuitive!

On Thursday, October 30, 2014 10:44:01 PM UTC+1, lgautier wrote:
>
> I'd be happy to follow the naming convention for generics when handling 
> named arrays.
>
> On Monday, October 27, 2014 11:17:47 AM UTC-4, David van Leeuwen wrote:
>>
>> Hi, 
>>
>> There is a package NamedArray that attempts to make it possible to work 
>> with named indices and dimensions in native Julia arrays, just like you are 
>> used to in R.  There is no interface to Rif.jl, though.  Would this be a 
>> useful extension?
>>
>> ---david
>>
>> On Sunday, October 26, 2014 11:01:51 PM UTC+1, lgautier wrote:
>>>
>>> Currently the way to do is to explicitly call the R-level setter:
>>>
>>> x = Rif.R("names<-")(x, Rif.cR("A", "B", "C"))
>>>
>>>
>>> However, as of today commit the C-level is exposed and a way that is 
>>> looking a little more like native Julia.
>>> (I'll do a pull request so this is part of the released package soon).
>>>
>>> The unit-tests are for vectors, and should be explict:
>>> https://github.com/lgautier/Rif.jl/blob/master/test/vectors.jl#L57
>>>
>>> ```julia
>>> # The C API for R has specialized MACRO for names getrnames/setrnames
>>> # exposes it
>>> vi2 = Int32[1,2,3]
>>> rvi2 = Rif.RArray{Int32,1}(vi2)
>>> @test isequal(None, Rif.getrnames(rvi2))
>>> Rif.setrnames!(rvi2, Rif.RArray{ASCIIString,1}(ASCIIString["a", "b", 
>>> "c"]))
>>> @test isequal("a", Rif.getrnames(rvi2)[1])
>>> @test isequal("b", Rif.getrnames(rvi2)[2])
>>> @test isequal("c", Rif.getrnames(rvi2)[3])
>>>
>>> # setAttr/getAttr will be equivalent
>>> vi2 = Int32[1,2,3]
>>> rvi2 = Rif.RArray{Int32,1}(vi2)
>>> @test_throws ErrorException Rif.getAttr(rvi2, "names")
>>> Rif.setAttr!(rvi2, "names",
>>>              Rif.RArray{ASCIIString,1}(ASCIIString["a", "b", "c"]))
>>> @test isequal("a", Rif.getAttr(rvi2, "names")[1])
>>> @test isequal("a", Rif.getrnames(rvi2)[1])
>>> @test isequal("b", Rif.getAttr(rvi2, "names")[2])
>>> @test isequal("b", Rif.getrnames(rvi2)[2])
>>> @test isequal("c", Rif.getAttr(rvi2, "names")[3])
>>> @test isequal("c", Rif.getrnames(rvi2)[3])
>>> ```
>>>
>>> On Saturday, October 25, 2014 12:38:10 PM UTC-4, xiong...@gmail.com 
>>> wrote:
>>>>
>>>> In R, we can assign names for a variable as:
>>>> > x<-c(1,2,3)
>>>> > names(x)=c("A","B","C")
>>>> > x
>>>> A B C 
>>>> 1 2 3
>>>>
>>>> In Julia, I can create a RArray by
>>>> x=Rif.cR([1,2,3])
>>>> But anyone know how to assign the "names" to this RArray variable in 
>>>> Julia?
>>>>
>>>

Reply via email to