[datatable-help] Column names after self join

Andreas Borg andreas.borg at unimedizin-mainz.de
Thu Mar 31 10:07:43 CEST 2011


Hi Matthew,

thanks for the reply.

> The example data seems a little too cut down but if I understand
> correctly then this idiom might be better :
>
>   
>> setkey(dt,x1,id)
>> dt[J(x1,id-1,id,x2),roll=TRUE,nomatch=0]
>>     
>      x1 id x2 id.1 x2.1
> [1,]  a  1  1    2    2
>   

That would not be sufficient because in a larger world example the ids 
of a pair can differ by more than one. Anyway, what is the use of 
roll=TRUE in this case (there are no missing values with nomatch=0)?

> That has the same column name issue but in the result this time and may
> be easier to work around in the meantime. I've assumed you've already
> tried grouping by x1 and using .SD.
>
>   
Grouping might work in combination with calling a function on each group 
that constructs all valid combinations of ids in the group. Not 
straightforward to ensure compatible values over all groups, but I'll 
dig into it. Thanks for the suggestion!

Andreas

-- 
Andreas Borg
Medizinische Informatik

UNIVERSITÄTSMEDIZIN
der Johannes Gutenberg-Universität
Institut für Medizinische Biometrie, Epidemiologie und Informatik
Obere Zahlbacher Straße 69, 55131 Mainz
www.imbei.uni-mainz.de

Telefon +49 (0) 6131 175062
E-Mail: borg at imbei.uni-mainz.de

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der
richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
Absender und löschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
dieser Mail und der darin enthaltenen Informationen ist nicht gestattet.



More information about the datatable-help mailing list