Understanding Replace in a syntax

print(sample(-50:50, 10, replace=TRUE))

can you please explain the impact/usage of replace in the above code.

replace=TRUE means sampling with replacement. The example code is drawing 10 values from the set of integers -50 through 50. If the sampling is with replacement, then each time a value is drawn, it is then placed back into the set and can be drawn again. As a result, when you draw a sample, some values could be repeated, and you could even end up with a sample where all values are the same (thought that would be extremely unlikely when making 10 draws with replacement from 101 numbers).

If we use replace=FALSE (the default for the sample function) instead, then once a value is drawn, it is removed from the set and cannot be drawn again, so each value can appear only once in the sample.

Here's an example:

set.seed(2)

# Can have repeated values
sample(1:6, 5, replace=TRUE)
#> [1] 5 6 6 1 5

# Always returns five different values
sample(1:6, 5)
#> [1] 1 4 6 5 2

If the size of the sample is larger than the set you're drawing from, then you must use replace=TRUE, otherwise the function will fail with an error.

For example:

set.seed(2)

sample(1:6, 10, replace=TRUE)
#>  [1] 5 6 6 1 5 1 4 5 1 2

sample(1:6, 10)
#> Error in sample.int(length(x), size, replace, prob):   
#>   cannot take a sample larger than the population when 'replace = FALSE'
1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.