Tests (harshly) whether the vectors can be recycled safely.

prohibit_vector_recycling(...)

prohibit_vector_recycling.MAXLENGTH(...)

prohibit_arg_recycling.MAXLENGTH(LIST)

Arguments

...

A list of vectors

LIST

A list of objects (typically mget(ls()) called in the body of a function).

Source

http://stackoverflow.com/a/9335687/1664978

Value

An error message if the vectors are of different length (unless the alternative length is 1). The functions differ in their return values on success: prohibit_vector_recycling.MAXLENGTH returns the maximum of the lengths whereas prohibit_vector_recyling returns NULL. (Both functions return their values invisibly.)

Examples

# NOT RUN {
# Returns nothing because they are of the same length
prohibit_vector_recycling(c(2, 2), c(2, 2))
# Returns nothing also, because the only different length is 1
prohibit_vector_recycling(c(2, 2), 1)
# Returns an error:
prohibit_vector_recycling(c(2, 2), 1, c(3, 3, 3))
# }