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

blatooblatoo Member Posts: 32 Contributor II
edited November 2018 in Help

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!


  • Options
    Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,996 RM Engineering

    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 ;)

  • Options
    MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,517 RM Data Scientist
    you can use the sign function

    for some reason that one is not in the list of Generate Attributes.
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • Options
    MariusHelfMariusHelf RapidMiner Certified Expert, Member Posts: 1,869 Unicorn

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

  • Options
    blatooblatoo Member Posts: 32 Contributor II
    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. ;)
Sign In or Register to comment.