Random subset of questions

Hi,

Another question I couldn't google an answer for, or actually two:

  1. Sometimes you don't need a question to be answered in all the instances
    but only a percentage of the whole survey. Is there an option to have a
    question show up in the survey once every x forms?

  2. If so, is there a way to build sampling techniques automatically into
    ODK (random, record some questions for transects or plots as per GPS
    reading)?

Thank you

··· --

http://www.arnalich.com/
Santiago Arnalich
Consultant, lecturer and author
+34 671700686
skype: sarnalich
...
www.arnalich.com
Consultancy & training for Development

The capacity for collecting a random sub-sample of answers to questions is
theoretically available through the random() function (but apparently not
working as expected -- see recent posting). Using that, you would generate
a random() number, then use that to determine whether the interviewee
should be asked a given question via a relevancy condition. The one caveat
is that these values should be generated as their own calculated fields
with no other dependency. If you used them directly in a relevancy
condition:

relevant="random() > 0.5"

Then each time you traverse the form (e.g., for validation), a new random
number would be generated during the evaluation of the relevancy condition
(will need to look at the source code to confirm that...), and you could
end up prompting for answers to a different subset of the form's questions.

Mitch

··· On Sat, Feb 2, 2013 at 3:21 AM, Santiago Arnalich <coordinacion@arnalich.com wrote:

Hi,

Another question I couldn't google an answer for, or actually two:

  1. Sometimes you don't need a question to be answered in all the instances
    but only a percentage of the whole survey. Is there an option to have a
    question show up in the survey once every x forms?

  2. If so, is there a way to build sampling techniques automatically into
    ODK (random, record some questions for transects or plots as per GPS
    reading)?

Thank you

http://www.arnalich.com/
Santiago Arnalich
Consultant, lecturer and author
+34 671700686
skype: sarnalich
...
www.arnalich.com
Consultancy & training for Development

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

Mitch

Would it be possible to do the same for groups of questions?

We have a survey where which has a number of similar groups of question. We would like to present the groups randomly. Any advice?

Jonathan

··· On Saturday, February 2, 2013 10:28:18 AM UTC-5, Mitch Sundt wrote: > The capacity for collecting a random sub-sample of answers to questions is theoretically available through the random() function (but apparently not working as expected -- see recent posting). Using that, you would generate a random() number, then use that to determine whether the interviewee should be asked a given question via a relevancy condition. The one caveat is that these values should be generated as their own calculated fields with no other dependency. If you used them directly in a relevancy condition: > > > > relevant="random() > 0.5" > > > Then each time you traverse the form (e.g., for validation), a new random number would be generated during the evaluation of the relevancy condition (will need to look at the source code to confirm that...), and you could end up prompting for answers to a different subset of the form's questions. > > > > Mitch > > > > > > > On Sat, Feb 2, 2013 at 3:21 AM, Santiago Arnalich wrote: > > Hi, > > Another question I couldn't google an answer for, or actually two: > > 1. Sometimes you don't need a question to be answered in all the instances but only a percentage of the whole survey. Is there an option to have a question show up in the survey once every x forms? > > > > > 2. If so, is there a way to build sampling techniques automatically into ODK (random, record some questions for transects or plots as per GPS reading)? > > Thank you > -- > > > > > > > > Santiago > Arnalich > > Consultant, lecturer and author > > +34 671700686 > > > > skype: > sarnalich > > ... > > www.arnalich.com > > > Consultancy & training for > Development > > > > > -- > > -- > > Post: opend...@googlegroups.com > > Unsubscribe: opendatakit...@googlegroups.com > > Options: http://groups.google.com/group/opendatakit?hl=en > > > > --- > > You received this message because you are subscribed to the Google Groups "ODK Community" group. > > To unsubscribe from this group and stop receiving emails from it, send an email to opendatakit...@googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > > > > > -- > Mitch Sundt > Software Engineer > University of Washington > mitche...@gmail.com

Jonathan,

Yes, you can specify a "relevance" expression for an entire group of fields.

We just released SurveyCTO v1.14, which includes a new random-once()
function that won't re-draw random numbers when forms are edited; that
seems most suitable for randomizing survey elements (questions or modules).
It has been suggested that the standard random() function can work fine as
well, provided that you use a trick in the XML to prevent it from
re-drawing on edit (see earlier posts).

Best,

Chris

··· On Tue, Jul 16, 2013 at 8:35 AM, wrote:

Mitch

Would it be possible to do the same for groups of questions?

We have a survey where which has a number of similar groups of question.
We would like to present the groups randomly. Any advice?

Jonathan

On Saturday, February 2, 2013 10:28:18 AM UTC-5, Mitch Sundt wrote:

The capacity for collecting a random sub-sample of answers to questions
is theoretically available through the random() function (but apparently
not working as expected -- see recent posting). Using that, you would
generate a random() number, then use that to determine whether the
interviewee should be asked a given question via a relevancy condition.
The one caveat is that these values should be generated as their own
calculated fields with no other dependency. If you used them directly in a
relevancy condition:

relevant="random() > 0.5"

Then each time you traverse the form (e.g., for validation), a new
random number would be generated during the evaluation of the relevancy
condition (will need to look at the source code to confirm that...), and
you could end up prompting for answers to a different subset of the form's
questions.

Mitch

On Sat, Feb 2, 2013 at 3:21 AM, Santiago Arnalich < coordi...@arnalich.com> wrote:

Hi,

Another question I couldn't google an answer for, or actually two:

  1. Sometimes you don't need a question to be answered in all the
    instances but only a percentage of the whole survey. Is there an option to
    have a question show up in the survey once every x forms?

  2. If so, is there a way to build sampling techniques automatically into
    ODK (random, record some questions for transects or plots as per GPS
    reading)?

Thank you

Santiago
Arnalich

Consultant, lecturer and author

+34 671700686

skype:
sarnalich

...

www.arnalich.com

Consultancy & training for
Development

--

--

Post: opend...@googlegroups.com

Unsubscribe: opendatakit...@googlegroups.com

Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google
Groups "ODK Community" group.

To unsubscribe from this group and stop receiving emails from it, send
an email to opendatakit...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitche...@gmail.com

--

Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en


You received this message because you are subscribed to the Google Groups
"ODK Community" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

"It has been suggested that the standard random() function can work fine as well, provided that you use a trick in the XML to prevent it from re-drawing on edit (see earlier posts)"

I've tried (quite hard) to find these earlier posts. Could you give a link or a clue about when?

Thanks.

James,

I'm sorry: there was a pubic discussion started on July 3, but I took a
part of it offline with Mitch and Yaw. The XML solution was in a private
thread. I don't think that Yaw would mind my sharing one of his messages
from that private thread:

You can prevent the re-calculation with some XForm magic. Here is what
Clayton recommended for UUID.

preexisting!

The suggestion was that you could do something similar for random() -- but
I haven't yet gotten a chance to try it. For the moment, we're using a new
random-once() function that has the desired properties built-in.

Best,

Chris

··· On Thu, Jul 18, 2013 at 2:35 AM, wrote:

"It has been suggested that the standard random() function can work fine
as well, provided that you use a trick in the XML to prevent it from
re-drawing on edit (see earlier posts)"

I've tried (quite hard) to find these earlier posts. Could you give a link
or a clue about when?

Thanks.

Thanks for that. We'll give it a go.