I need to create the respondent-driven sampling variables identifying recruits from two variables:
recruiterID
and
participantID
.| caseID | recruiterID | participantID | 
| 1 | project_id | Bn9Le8tQJt7uPT | 
| 2 | Bn9Le8tQJt7uPT | VKERQF4fGz0LVY | 
| 3 | Bn9Le8tQJt7uPT | s0kRms5ndafnnfh | 
| 4 | VKERQF4fGz0LVY | R1E1MiDgYy8mcV | 
| 5 | s0kRms5ndafnnfh | f3kpXDlkxxgu7K | 
| 6 | s0kRms5ndafnnfh | yb960dHZgItYe4L | 
I need to add variables identifying caseID # 2 and #3 as being friend1 and friend2 of caseID #1, and caseID #5 and #6 as friend1 and friend 2 of caseID #3 (the other participants have missing values as they have not successfully recruited friends yet). For example:
| caseID | recruiterID | participantID | friend_code_1 | friend_code_2 | 
| 1 | project_id | Bn9Le8tQJt7uPT | VKERQF4fGz0LVY | s0kRms5ndafnnfh | 
| 2 | Bn9Le8tQJt7uPT | VKERQF4fGz0LVY | R1E1MiDgYy8mcV | |
| 3 | Bn9Le8tQJt7uPT | s0kRms5ndafnnfh | f3kpXDlkxxgu7K | yb960dHZgItYe4L | 
| 4 | VKERQF4fGz0LVY | R1E1MiDgYy8mcV | ||
| 5 | s0kRms5ndafnnfh | f3kpXDlkxxgu7K | ||
| 6 | s0kRms5ndafnnfh | yb960dHZgItYe4L | 
Because the number of coupons differs according to some sociodemographic variables, I created
as much new friend_code_* variables as the maximum number of participants recruited by the same recruiter by the following syntax:/*encoding str variables*/
encode recruiterID, generate(recruiterID_num)
encode participantID, generate(participantID_num)
/*counting and storing in r(max) the number of recruits to determine the number of friend_code_* variables to create*/
bysort recruiterID : gen nrecruits = _n
su nrecruits, meanonly
/*creating the friend_code_* variables*/
foreach i of num 1/`r(max)' {
by participantID_num, sort: gen friend_code_`i' = .
}
I need help figuring out how to copy the appropriate value of participantID in the friend_code_* variables (as required by the rds_network command). I just can't find the solution...
Many thanks,
Martin
0 Response to Setting up dataset for rds_network
Post a Comment