Page 1 of 1

kish grid

Posted: February 28th, 2018, 4:58 am
by muhaliraza
We have a household questionnaire and based on the household roaster we want to select a single women for detailed interview using kish grid. If someone have the codes for kish grid it would be a great help for us.

Re: kish grid

Posted: February 28th, 2018, 8:13 am
by Gregory Martin
I implemented a Kish grid a few years ago and tomorrow I may be able to find the code that I used.

However, the Kish grid is useful for selecting a participant in the paper environment where you need to select a random number. If you are doing a CAPI survey, can you just replace the Kish grid with a selection using the random function?

Re: kish grid

Posted: February 28th, 2018, 12:33 pm
by muhaliraza
@Gregory Martin thanks. Its a good advice to generate the random number. But my client want the kish grid in capi application. If you can share the codes it will be great help for me.

Re: kish grid

Posted: March 1st, 2018, 11:08 am
by Gregory Martin
This is for something that I did in 2011. The Kish grid was declared in PROC GLOBAL:
PROC GLOBAL

array kishGrid(8,6) =       1   1   1   1   1   1
                            1   1   1   1   2   2
                            1   1   1   2   2   2
                            1   1   2   2   3   3
                            1   2   2   3   4   4
                            1   2   3   3   3   5
                            1   2   3   4   5   5
                            1   2   3   4   5   6;
Then, after the population roster was filled, this question was asked:

What Kish Grid table number has been assigned to this household?

The responses were as follows:
A   1
B1  2
B2  3
C   4
D   5
E1  6
E2  7
F   8
And a variable was filled in with the name of the selection:
PROC KISH_TABLE

    // calculate the kish grid selection
    numeric kishSelection = kishGrid(KISH_TABLE,( totocc(POP_REC) - 1 ) % 6 + 1);

    chosenName = NAME(kishSelection);

Re: kish grid

Posted: November 1st, 2021, 8:44 am
by rama.amal31
Hello, I'm Rama from Indonesia
I also have activities about using this KISH Grid but according to age not gender
may i have an example of ent for kish grid ? :(
thank you

Re: kish grid

Posted: November 1st, 2021, 10:14 am
by rama.amal31
This is the questionnaire that will be used,
This kish grid will be used if the age is more than 15 years and he will be at home another day

I hope I can be helped :cry: :roll:

thank you.

Re: kish grid

Posted: November 1st, 2021, 2:45 pm
by sherrell
Hi Rama,

Often a Kish grid is a 10x10 matrix. One indice (say X) is taken from the last digit of one of the ID # (that indice would go from 0-9). The other indice (say Y), corresponds to how many people meet the selection criteria (that indice would go from 1-10). If this is a household, generally you will never have more than 10 people that meet your criteria. If you do, then subtract 10 from the #. For your QRE, Y would be calculated as:
Y = count (PERSON_REC where Q106=1 and Q107=1);
Once you know that #, and if it is non-zero, you can just lookup the value in your Kish grid.

If your household number was 4 digits, then the rest of the logic would read:
if Y then

    if
Y > 10 then Y = Y-10; endif;  // in case more than 10 people meet this condition

   
X = HH_NUM - (int(HH_NUM*0.1)*10);   // strip off the last #

   
Selected_Person = KishArr (X, Y);    // use that last # as one of the indices
endif;
Welcome to the CSPro Forum!
Sherrell