On 23/09/2018 10:42, Peter Otten wrote:
Shall, Sydney via Tutor wrote:

What I want is the following.

I have:
property_a = [1, 6, 2, 4]
property_b = [62, 73, 31 102]

Result should approximately be:
property_b = [31, 102, 62, 73]

That is both lists change in value in exactly the same order.

Now, this is easy to achieve. I could simply sort both lists is
ascending order and I would then have an exact alignment of values is
ascending order. The correlation would be a perfect linear relationship,
I suppose.

But my actual scientific problem requires that the correlation should be
only approximate and I do not know how close to to a perfect correlation
it should be. So, I need to introduce some lack of good correlation when
I set up the correlation. How to do that is my problem.

I hope this helps to clarify what my problem is.

Maybe you could sort the already-sorted property_b again, with some random
offset:

import itertools
def wiggled(items, sigma):
...     counter = itertools.count()
...     def key(item): return random.gauss(next(counter), sigma)
...     return sorted(items, key=key)
...
wiggled(range(20), 3)
[0, 5, 2, 4, 1, 6, 7, 8, 3, 9, 11, 10, 13, 14, 16, 12, 18, 17, 19, 15]
wiggled([31, 102, 62, 73], .8)
[102, 31, 62, 73]
wiggled([31, 102, 62, 73], .8)
[31, 102, 62, 73]
wiggled([31, 102, 62, 73], .8)
[31, 102, 62, 73]
wiggled([31, 102, 62, 73], .8)
[31, 62, 102, 73]


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.python.org%2Fmailman%2Flistinfo%2Ftutor&data=01%7C01%7Csydney.shall%40kcl.ac.uk%7Cb9cbdce8c20e45dd3ff508d621390143%7C8370cf1416f34c16b83c724071654356%7C0&sdata=yNo7hMVl7dYmH6d74MBaab5e5g6bPoWoqkza5TS1bXY%3D&reserved=0



Thanks to Oscar and to Pater for their help. They have set me on the correct path. The crucial advice to was to look at the randomisation procedures. I have used a procedure similar to that suggested by Peter and it works well.

Cheers,

Sydney

_________

Professor Sydney Shall
Department of Haematology/Oncology
Phone: +(0)2078489200
E-Mail: sydney.shall
[Correspondents outside the College should add @kcl.ac.uk]
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to