| grade.discreteprobability {grade} | R Documentation |
Checks a students probability distribution, makes sure that (1) It sums to 1 (2) All elements are >= 0
Optionally, it compares the students to a correct one. Order is optionally enforced.
grade.discreteprobability(correctans, studentans, tolerance=.01,
useeval=TRUE, usena=FALSE, useinf=FALSE,
quiet=TRUE, ordered=FALSE, checkcorrect=TRUE)
correctans |
a vector of type numeric or a string |
studentans |
a vector of type numeric or a string |
tolerance |
a string or numeric representing the accepted component wise tolerance |
useeval |
TRUE or FALSE indicates whether or not to use 'eval' on strings |
usena |
TRUE or FALSE indicating whether or not NA is an accepted value |
useinf |
TRUE or FALSE indicating whether or not Inf and -Inf are accepted values |
quiet |
TRUE or FALSE. If TRUE there are more warning messages when checks fail. Can be helpful for debugging. |
ordered |
TRUE or FALSE. If TRUE studentans order must match correctans order to be considered correct. If FALSE, order does not matter (so both are sorted and then checked) |
checkcorrect |
TRUE or FALSE. if TRUE studentans needs to match correctans. If FALSE studentans only needs to qualify as a discrete probability distribution. |
If checkcorrect=FALSE, grade.discreteprobability does not
do any checks on correctans. In this case to be correct,
studentans needs to satisfy discrete probability constraints –
all elements >= 0 and sums to 1.
If checkcorrect=TRUE discrete probability constraints are
enforced on correctans. studentans needs to match
correctans in this case. Order is only enforced if
ordered=TRUE.
grade.discreteprobability does not use NA. If
usena=TRUE grade.discreteprobability sets it to
FALSE and issues a warning message.
TRUE or FALSE indicating match success or failure respectively.
FALSE is also returned if studentans does not look like a set.
The grade main page contains a discussion of the
common parameters correctans, studentans, useeval, usena,
useinf, quiet.
# TRUE
grade.discreteprobability(c(1/2,1/2), "[.5, .5]")
# TRUE
grade.discreteprobability(NULL, "[0, .33, .17, .5]", checkcorrect=FALSE)
# FALSE
grade.discreteprobability(NULL, "[-1, 0, 0, 1, 1]", checkcorrect=FALSE)
# TRUE
grade.discreteprobability(c(0, 1/2, 1/4, 1/4), "[0, 1/2, 1/4, 1/4]")
# FALSE
grade.discreteprobability(c(0, 1/2, 1/4, 1/4), "[0, .25, .25, .5]",
ordered=TRUE)
# TRUE
grade.discreteprobability(c(0, 1/2, 1/4, 1/4), "[0, .5, .25, .25]",
ordered=TRUE)