Sentences ranking on one display


Author
Message
pawelstrojny
pawelstrojny
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)
Group: Forum Members
Posts: 43, Visits: 76
That's perfect solution for me. Thank you.

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: 104K
Thanks for the useful clarification. I'm afraid, though, that isn't really possible. The only thing you *could* do, is run the <surveypage> via a <survey> element (instead of a <block>):

<values>
/ rankstring = ""
/ validranking = false
</values>

<survey mysurvey>
/ pages = [1=mypage]
/ showbackbutton = false
/ showpagenumbers = false
</survey>

<text debug>
/ items = ("<%values.rankstring%>")
/ position = (50%, 5%)
</text>

<surveypage mypage>
/ stimulusframes = [1=debug]
/ questions = [1=r01; 2=r02]
/ ontrialbegin = [values.rankstring=""]
/ ontrialend = [values.rankstring=concat(concat(values.rankstring,dropdown.r01.response),dropdown.r02.response)]
/ ontrialend = [if (
    length(values.rankstring) == 2 &&
    length(replaceall(values.rankstring, dropdown.r01.response, "")) == 1 &&
    length(replaceall(values.rankstring, dropdown.r02.response, "")) == 1
    ) values.validranking = true else values.validranking = false]
/ branch = [if ( values.validranking == false) surveypage.mypage]
</surveypage>

<dropdown r01>
/ caption = "Rank 1"
/ options = ("Object A", "Object B", "Object C", "Object D")
/ optionvalues = ("A", "B", "C", "D")
/ required = true
</dropdown>

<dropdown r02>
/ caption = "Rank 2"
/ options = ("Object A", "Object B", "Object C", "Object D")
/ optionvalues = ("A", "B", "C", "D")
/ required = true
</dropdown>

That will preserve previous responses, but it has other drawbacks: (1) The results will end up in a separate, differently formatted data file and (2) you will not get any record of how many times a given person had to adjust the ranking until he/she got it right.

pawelstrojny
pawelstrojny
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)
Group: Forum Members
Posts: 43, Visits: 76
Basically we are interested in the proportion of categories of the chosen sentences (there are two categories).

I think I didn't explain it well. My point is to prepare a solution which will prevent participant from assigning ranks again when he make a mistake. Now if all conditions aren't met (the rank is doubled) the script goes back to the beginning of ranking task (erases all assigned ranks). My goal is to change it - the best would be if we can make script which simply won't go forward (and backward) - just like in case when one (or more) answer is missing; in the basic setup in that situation the missing question is marked red and "next" button doesn't react, could we do that - mark "doubled" ranks and wait for corrections without erasing all assigned ranks?

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: 104K
What's the point then in trying to validate responses at all? But alas, feel free to define a suitable /stop attribute.

pawelstrojny
pawelstrojny
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)
Group: Forum Members
Posts: 43, Visits: 76
That's not a good news :/ Maybe there is a solution to "stop" script if two equal ranks are given? Like when you don't answer obligatory question?

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: 104K
Communicating a mistake: Yes. Adjust the /branch to some page or trial displaying a suitable error message. From there then /branch to the ranking page again.

Storing (or rather "restoring") previous answers: No.

Edited 10 Years Ago by Dave
pawelstrojny
pawelstrojny
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)
Group: Forum Members
Posts: 43, Visits: 76
Thank you,

One more question - is that possible to change the script in the way that if participant makes mistake (e.g. skip one question) the script will communicate that but save the other answers? I expect to be really annoying when sb find that 19 answers are deleted and he must do it again :/

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: 104K
For the sake of completeness, though, if you absolutely *must* go down the other route, something along the lines of

<values>
/ rankstring = ""
/ validranking = false
</values>

<block myblock>
/ trials = [1=mypage]
</block>

<text debug>
/ items = ("<%values.rankstring%>")
/ position = (50%, 5%)
</text>

<surveypage mypage>
/ stimulusframes = [1=debug]
/ questions = [1=r01; 2=r02]
/ ontrialbegin = [values.rankstring=""]
/ ontrialend = [values.rankstring=concat(concat(values.rankstring,dropdown.r01.response),dropdown.r02.response)]
/ ontrialend = [if (
    length(values.rankstring) == 2 &&
    length(replaceall(values.rankstring, dropdown.r01.response, "")) == 1 &&
    length(replaceall(values.rankstring, dropdown.r02.response, "")) == 1
    ) values.validranking = true else values.validranking = false]
/ branch = [if ( values.validranking == false) surveypage.mypage]
</surveypage>

<dropdown r01>
/ caption = "Rank 1"
/ options = ("Object A", "Object B", "Object C", "Object D")
/ optionvalues = ("A", "B", "C", "D")
/ required = true
</dropdown>

<dropdown r02>
/ caption = "Rank 2"
/ options = ("Object A", "Object B", "Object C", "Object D")
/ optionvalues = ("A", "B", "C", "D")
/ required = true
</dropdown>

should be workable.

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: 104K
Well, the original (assign rank to object) would be much easier (and thus preferable) to implement than the reverse (assign object to rank).

pawelstrojny
pawelstrojny
Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)Guru (6.4K reputation)
Group: Forum Members
Posts: 43, Visits: 76
Now I understand what you don't :)

It's because I reversed "roles" in your script, because of my English limitation it would be easier to clarify it on the example; let's say we have four things (apple, orange, strawberry, apricot) and instruction says "Choose two most liked and rank that two", I'm not interested in the two less liked.

In order to do that I prepared two"dropdown" elements, first says "The most liked fruit" and the second "The second most liked fruit" and in options I have four fruits. My intention is to let participants choose one as "most liked", another one as "second" and to leave the rest unranked. As you see there is the reversion - what was the options in original script (Most liked, Second...) is the content of the "question" here and vice versa.

I decided to reverse it because it should be easier to choose between sentences than numbers in "dropdown" elements, but if it is difficult - I can go back to the original conception.

That's exactly my situation (but 20 sentences and participants need to rank 10 most important).
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search