Grokbase Groups R r-help August 2012
FAQ
On the surface this seems pretty simple, but I flummoxed. I have two sets of numbers they bounce around zero, positive one and negative one. They have a relationship between them, where one diverges away from the other. I want create a second set of numbers that tracks that divergence.

#Lets make some data like mine, kinda
Firstset <- runif(100, min = -1 , max =1)
Secondset <- runif(100, min = -1 , max =1)

#So something like:
Divergence <- abs (Firstset - Secondset)

#but this doesn't work because when Firstset is at .5 and Secondset is at -.25 it returns .25 instead of .75

#another possibility is:

Divergence <- abs (Firstset) - abs (Secondset)

#but when Firstset is at .5 and Secondset is at -.5 it returns 0 instead of 1

#It seems like there is a better way to do this. Any ideas?

Search Discussions

  • David Winsemius at Aug 19, 2012 at 7:58 pm

    On Aug 19, 2012, at 12:04 PM, White, William Patrick wrote:

    On the surface this seems pretty simple, but I flummoxed. I have two
    sets of numbers they bounce around zero, positive one and negative
    one. They have a relationship between them, where one diverges away
    from the other. I want create a second set of numbers that tracks
    that divergence.

    #Lets make some data like mine, kinda
    Firstset <- runif(100, min = -1 , max =1)
    Secondset <- runif(100, min = -1 , max =1)

    #So something like:
    Divergence <- abs (Firstset - Secondset)

    #but this doesn't work because when Firstset is at .5 and Secondset
    is at -.25 it returns .25 instead of .75
    abs( .5 - (-.25) ) should NOT return .25 so you need to produce a
    better example or point to specifics in the example you offered. If
    what you wanting what you are getting, then use set.seed(123) and
    refer to specific values.
    abs( .5 - (-.25) )
    [1] 0.75

    --
    David.
    #another possibility is:

    Divergence <- abs (Firstset) - abs (Secondset)

    #but when Firstset is at .5 and Secondset is at -.5 it returns 0
    instead of 1

    #It seems like there is a better way to do this. Any ideas?
    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA
  • David Winsemius at Aug 19, 2012 at 8:03 pm
    On Aug 19, 2012, at 12:58 PM, David Winsemius wrote:
    On Aug 19, 2012, at 12:04 PM, White, William Patrick wrote:

    On the surface this seems pretty simple, but I flummoxed. I have
    two sets of numbers they bounce around zero, positive one and
    negative one. They have a relationship between them, where one
    diverges away from the other. I want create a second set of numbers
    that tracks that divergence.

    #Lets make some data like mine, kinda
    Firstset <- runif(100, min = -1 , max =1)
    Secondset <- runif(100, min = -1 , max =1)

    #So something like:
    Divergence <- abs (Firstset - Secondset)

    #but this doesn't work because when Firstset is at .5 and Secondset
    is at -.25 it returns .25 instead of .75
    abs( .5 - (-.25) ) should NOT return .25 so you need to produce a
    better example or point to specifics in the example you offered. If
    what you wanting what you are getting, then use set.seed(123) and
    refer to specific values.
    I meant to write: "If you are not getting what you are wanting .... "
    abs( .5 - (-.25) )
    [1] 0.75

    --
    David.
    #another possibility is:

    Divergence <- abs (Firstset) - abs (Secondset)

    #but when Firstset is at .5 and Secondset is at -.5 it returns 0
    instead of 1

    #It seems like there is a better way to do this. Any ideas?
    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA

    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA
  • White, William Patrick at Aug 19, 2012 at 11:34 pm
    Also it occurred to me that my initial explanation was not explicitly clear as to what the desired output is. What I am trying to get is a moving absolute deviation between the two sets of numbers. This is not to be confused with the mean absolute deviation, or the median absolute deviation which are both something different and not what i am after.
    ________________________________________
    From: David Winsemius [dwinsemius at comcast.net]
    Sent: Sunday, August 19, 2012 4:03 PM
    To: David Winsemius
    Cc: White, William Patrick; r-help at r-project.org
    Subject: Re: [R] moving distance between two sets of data
    On Aug 19, 2012, at 12:58 PM, David Winsemius wrote:

    On Aug 19, 2012, at 12:04 PM, White, William Patrick wrote:

    On the surface this seems pretty simple, but I flummoxed. I have
    two sets of numbers they bounce around zero, positive one and
    negative one. They have a relationship between them, where one
    diverges away from the other. I want create a second set of numbers
    that tracks that divergence.

    #Lets make some data like mine, kinda
    Firstset <- runif(100, min = -1 , max =1)
    Secondset <- runif(100, min = -1 , max =1)

    #So something like:
    Divergence <- abs (Firstset - Secondset)

    #but this doesn't work because when Firstset is at .5 and Secondset
    is at -.25 it returns .25 instead of .75
    abs( .5 - (-.25) ) should NOT return .25 so you need to produce a
    better example or point to specifics in the example you offered. If
    what you wanting what you are getting, then use set.seed(123) and
    refer to specific values.
    I meant to write: "If you are not getting what you are wanting .... "
    abs( .5 - (-.25) )
    [1] 0.75

    --
    David.
    #another possibility is:

    Divergence <- abs (Firstset) - abs (Secondset)

    #but when Firstset is at .5 and Secondset is at -.5 it returns 0
    instead of 1

    #It seems like there is a better way to do this. Any ideas?
    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA

    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA
  • David Winsemius at Aug 19, 2012 at 11:52 pm

    On Aug 19, 2012, at 4:34 PM, White, William Patrick wrote:

    Also it occurred to me that my initial explanation was not
    explicitly clear as to what the desired output is. What I am trying
    to get is a moving absolute deviation between the two sets of numbers.
    The phrase "a moving absolute deviation" admits of several
    interpretations. I suggest you post the correct answer for some simple
    cases or that you be more mathematical in your description (as is
    suggested in the Posting Guide.)

    set.seed(123)
    X <- sample(-5:5, 10)
    Y <- sample(-5:5, 10);
    X
    [1] -2 2 5 4 1 -5 -3 3 -4 0
    Y
    [1] 5 -1 1 4 -5 0 -4 3 -2 2
    abs( tail(X,9) - head(Y,9) )
    [1] 3 6 3 3 0 3 7 7 2

    So this is c( abs(X[2] -Y[1]), abs( X[3]-Y[2], .....)
    This is not to be confused with the mean absolute deviation, or the
    median absolute deviation which are both something different and not
    what i am after.
    Again. Not a clear description (of what you do do not want), given
    that the problem involves two vectors.
    ________________________________________
    From: David Winsemius [dwinsemius at comcast.net]
    Sent: Sunday, August 19, 2012 4:03 PM
    To: David Winsemius
    Cc: White, William Patrick; r-help at r-project.org
    Subject: Re: [R] moving distance between two sets of data
    On Aug 19, 2012, at 12:58 PM, David Winsemius wrote:

    On Aug 19, 2012, at 12:04 PM, White, William Patrick wrote:

    On the surface this seems pretty simple, but I flummoxed. I have
    two sets of numbers they bounce around zero, positive one and
    negative one. They have a relationship between them, where one
    diverges away from the other. I want create a second set of numbers
    that tracks that divergence.

    #Lets make some data like mine, kinda
    Firstset <- runif(100, min = -1 , max =1)
    Secondset <- runif(100, min = -1 , max =1)

    #So something like:
    Divergence <- abs (Firstset - Secondset)

    #but this doesn't work because when Firstset is at .5 and Secondset
    is at -.25 it returns .25 instead of .75
    abs( .5 - (-.25) ) should NOT return .25 so you need to produce a
    better example or point to specifics in the example you offered. If
    what you wanting what you are getting, then use set.seed(123) and
    refer to specific values.
    I meant to write: "If you are not getting what you are wanting .... "
    abs( .5 - (-.25) )
    [1] 0.75

    --
    David.
    #another possibility is:

    Divergence <- abs (Firstset) - abs (Secondset)

    #but when Firstset is at .5 and Secondset is at -.5 it returns 0
    instead of 1

    #It seems like there is a better way to do this. Any ideas?
    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA

    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA

    David Winsemius, MD
    Alameda, CA, USA
  • White, William Patrick at Aug 19, 2012 at 11:12 pm
    The first method described produces a value other than the desired output every time the Firstset value is positive and the Secondset is negative, such as the second instance when seed is set to 123. The second method described produces a value other than the desired output every time the Firstset is negative and Secondset is positive, such as the first value derived from seed 123.


    ________________________________________
    From: David Winsemius [dwinsemius at comcast.net]
    Sent: Sunday, August 19, 2012 3:58 PM
    To: White, William Patrick
    Cc: r-help at r-project.org
    Subject: Re: [R] moving distance between two sets of data
    On Aug 19, 2012, at 12:04 PM, White, William Patrick wrote:

    On the surface this seems pretty simple, but I flummoxed. I have two
    sets of numbers they bounce around zero, positive one and negative
    one. They have a relationship between them, where one diverges away
    from the other. I want create a second set of numbers that tracks
    that divergence.

    #Lets make some data like mine, kinda
    Firstset <- runif(100, min = -1 , max =1)
    Secondset <- runif(100, min = -1 , max =1)

    #So something like:
    Divergence <- abs (Firstset - Secondset)

    #but this doesn't work because when Firstset is at .5 and Secondset
    is at -.25 it returns .25 instead of .75
    abs( .5 - (-.25) ) should NOT return .25 so you need to produce a
    better example or point to specifics in the example you offered. If
    what you wanting what you are getting, then use set.seed(123) and
    refer to specific values.
    abs( .5 - (-.25) )
    [1] 0.75

    --
    David.
    #another possibility is:

    Divergence <- abs (Firstset) - abs (Secondset)

    #but when Firstset is at .5 and Secondset is at -.5 it returns 0
    instead of 1

    #It seems like there is a better way to do this. Any ideas?
    ______________________________________________
    R-help at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/r-help
    PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
    and provide commented, minimal, self-contained, reproducible code.
    David Winsemius, MD
    Alameda, CA, USA

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupr-help @
categoriesr
postedAug 19, '12 at 7:04p
activeAug 19, '12 at 11:52p
posts6
users2
websiter-project.org
irc#r

People

Translate

site design / logo © 2017 Grokbase