Index of max function


Author
Message
Andrew Papale
Andrew Papale
Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)
Group: Forum Members
Posts: 66, Visits: 233
Dave - 10/2/2023
Andrew Papale - 10/2/2023
Dave - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks

This solution seems to work for values <=5 but is not general to any integer N without N if else statements.

<list best>
/ items = (values.rem0, values.rem1, values.rem2, values.rem3, values.rem4, values.rem5)
/ poolsize = 6
/ selectionrate = always
</list>


I'm not at all sure what you want to do and for what purpose. Give a concrete example, please.

It's very simple.  I want to find the index for which the minimum value occurs.  i.e. if I have a set of numbers in a specific sequence, I want to be able to find the index of the minimum of that sequence.  In R programming language this is the which.min() function.  Here is how you'd do it in Python: https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-list

The purpose of doing this is to dynamically change block lengths depending on contingency to keep 3 conditions as balanced as possible while accounting for variable subject behavior.



A list has maximum and minimum properties.

https://www.millisecond.com/support/docs/current/html/language/properties/maximum.htm
https://www.millisecond.com/support/docs/current/html/language/elements/list.htm

So, first get the maximum (or minimum, whatever you're interested in) value, then use indexof() to find that value's index.

<list mylist>
/ items = (12, 9, 15, 7, 13, 7)
</list>

<values>
/ min = null
/ max = null
/ iMin = -1
/ iMax = -1
</values>

<trial mytrial>
/ ontrialbegin = [
    values.min = list.mylist.minimum;
    values.iMin = list.mylist.indexof(values.min);
    values.max = list.mylist.maximum;
    values.iMax = list.mylist.indexof(values.max);
]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("List: <%list.mylist.item(1)%>, <%list.mylist.item(2)%>, <%list.mylist.item(3)%>, <%list.mylist.item(4)%>, <%list.mylist.item(5)%>, <%list.mylist.item(6)%>
Min: <%values.min%> at index <%values.iMin%>
Max: <%values.max%> at index <%values.iMax%>")
</text>


If there are multiple values equal to max or min, indexof() returns the index of the first value matching max or min.


Thank you I was close.  DIdn't know about the min max property of lists.  Appreciate your help. 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Andrew Papale - 10/2/2023
Dave - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks

This solution seems to work for values <=5 but is not general to any integer N without N if else statements.

<list best>
/ items = (values.rem0, values.rem1, values.rem2, values.rem3, values.rem4, values.rem5)
/ poolsize = 6
/ selectionrate = always
</list>


I'm not at all sure what you want to do and for what purpose. Give a concrete example, please.

It's very simple.  I want to find the index for which the minimum value occurs.  i.e. if I have a set of numbers in a specific sequence, I want to be able to find the index of the minimum of that sequence.  In R programming language this is the which.min() function.  Here is how you'd do it in Python: https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-list

The purpose of doing this is to dynamically change block lengths depending on contingency to keep 3 conditions as balanced as possible while accounting for variable subject behavior.



A list has maximum and minimum properties.

https://www.millisecond.com/support/docs/current/html/language/properties/maximum.htm
https://www.millisecond.com/support/docs/current/html/language/properties/minimum.htm
https://www.millisecond.com/support/docs/current/html/language/elements/list.htm

So, first get the maximum (or minimum, whatever you're interested in) value, then use indexof() to find that value's index.

<list mylist>
/ items = (12, 9, 15, 7, 13, 7)
</list>

<values>
/ min = null
/ max = null
/ iMin = -1
/ iMax = -1
</values>

<trial mytrial>
/ ontrialbegin = [
    values.min = list.mylist.minimum;
    values.iMin = list.mylist.indexof(values.min);
    values.max = list.mylist.maximum;
    values.iMax = list.mylist.indexof(values.max);
]
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("List: <%list.mylist.item(1)%>, <%list.mylist.item(2)%>, <%list.mylist.item(3)%>, <%list.mylist.item(4)%>, <%list.mylist.item(5)%>, <%list.mylist.item(6)%>
Min: <%values.min%> at index <%values.iMin%>
Max: <%values.max%> at index <%values.iMax%>")
</text>


If there are multiple values equal to max or min, indexof() returns the index of the first value matching max or min.


Edited 2 Years Ago by Dave
Andrew Papale
Andrew Papale
Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)
Group: Forum Members
Posts: 66, Visits: 233
Dave - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks

This solution seems to work for values <=5 but is not general to any integer N without N if else statements.

<list best>
/ items = (values.rem0, values.rem1, values.rem2, values.rem3, values.rem4, values.rem5)
/ poolsize = 6
/ selectionrate = always
</list>


I'm not at all sure what you want to do and for what purpose. Give a concrete example, please.

It's very simple.  I want to find the index for which the minimum value occurs.  i.e. if I have a set of numbers in a specific sequence, I want to be able to find the index of the minimum of that sequence.  In R programming language this is the which.min() function.  Here is how you'd do it in Python: https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-list

The purpose of doing this is to dynamically change block lengths depending on contingency to keep 3 conditions as balanced as possible while accounting for variable subject behavior.



Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 105K
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks

This solution seems to work for values <=5 but is not general to any integer N without N if else statements.

<list best>
/ items = (values.rem0, values.rem1, values.rem2, values.rem3, values.rem4, values.rem5)
/ poolsize = 6
/ selectionrate = always
</list>


I'm not at all sure what you want to do and for what purpose. Give a concrete example, please.
Andrew Papale
Andrew Papale
Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)
Group: Forum Members
Posts: 66, Visits: 233
Andrew Papale - 10/2/2023
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks

This solution seems to work for values <=5 but is not general to any integer N without N if else statements.

<list best>
/ items = (values.rem0, values.rem1, values.rem2, values.rem3, values.rem4, values.rem5)
/ poolsize = 6
/ selectionrate = always
</list>


Andrew Papale
Andrew Papale
Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)
Group: Forum Members
Posts: 66, Visits: 233
Andrew Papale - 10/2/2023
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 1, index of max(2,3,4,1,5) would return 5.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

Not sure how to edit, but obviously the examples I gave would be for the min function.  For the max, we would return 1 and 5, respectively, thanks
Andrew Papale
Andrew Papale
Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)Partner Member (990 reputation)
Group: Forum Members
Posts: 66, Visits: 233
Dear Inquisit Team,

What is the best way to find the index of a value in the max function?

i.e. index of max(4,0,1,3,2) would return 2, index of max(2,3,4,1,5) would return 4.

I feel like there might be a way to do this with lists:  https://www.millisecond.com/support/docs/current/html/language/functions/indexof.htm


Thanks,
Andrew

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search