*! version 1.1.1 14dec2020

Title

peerreview -- Randomly assign papers to peers for review

Syntax

peerreview varname [if] [in]
,
review(# [, name_suboption])
[by(varlist)]

by is allowed; see [D] by.

Description

peerreview randomly assigns papers to peers for review, based on the
principle of assignment without replacement which ensures that each paper is
assigned an equal number of times. Assignment is carried out with two
constraints: Reviewers cannot review their own paper and reviewers cannot
read papers more than once.

Options

Main

review(# [, name_suboption]) expects number of reviews; integer

by(varlist) carries out assignment within each group

name_suboption

name(newvar) specifies the stub for new variables to be generated, or the variable name in case of a single variable

The default is review

Examples

Setup

. clear

. set obs 12

. gen studentname = word("`c(ALPHA)'", _n)

. gen studentid = _n

. gen group = ceil(_n / 4)

Assign 2 papers to each student based on student names

. set seed 1234

. peerreview studentname, review(2)

Assign 3 papers to each student based on student id, name variables paper#

. set seed 2020

. peerreview studentid, review(3, name(paper))

Assign 2 papers to each student based on student id within groups, name variables rev#

. set seed 10000

. peerreview studentid, review(2, name(rev)) by(group)

Author

Wouter Wakker, wouter.wakker@outlook.com