how to generate an attribute with abs(col1 - col2)

blatoo
blatoo New Altair Community Member
edited November 2024 in Community Q&A
Hello,

how can I generate an new attribute, which function expression is: |attr1 - attr2| ?

At moment, i just find the way with if( attr1 - attr2 > 0, attr1 - attr2, attr2-attr1)

Thanks very much for the attention!
Tagged:

Answers

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

    because there is no explicit function to get absolute values at the moment, I'd suggest the following:

    sqrt(pow((attr1-attr2), 2))
    Edit: I concede! See Marius' answer below ;)

    Regards,
    Marco
  • MartinLiebig
    MartinLiebig
    Altair Employee
    you can use the sign function

    sgn(a-b)*(a-b)
    for some reason that one is not in the list of Generate Attributes.
  • MariusHelf
    MariusHelf New Altair Community Member
    blatoo,

    why not simply use your subject line?
    abs(attr1-attr2) will also work perfectly in Generate Attributes :)

    ~Marius
  • blatoo
    blatoo New Altair Community Member
    Hi all,

    Thanks very much for the answers! :-) I got now more solutions. But I think, if rapidminer can put the abs() also in the function list, will be better. Because abs() will be often used. ;)