This package contains:
The base R function range returns the minimum and maximum of
a vector, but the “range” is actually defined as the difference between
the minimum and maximum. This function calculates the actual range. It
is equivalent to the base R code diff(range(x)), but a bit
simpler and much faster.
x <- rnorm(1000)
all.equal(diff(range(x)), truerange(x))
#> [1] TRUE
as.data.frame(print(microbenchmark(diff(range(x)), truerange(x), times = 500)))
#> Unit: microseconds
#> expr min lq mean median uq max neval
#> diff(range(x)) 8.717 9.207 9.683326 9.388 9.618 38.693 500
#> truerange(x) 3.937 3.998 4.215928 4.178 4.293 21.520 500| expr | time |
|---|---|
| diff(range(x)) | 38693 |
| diff(range(x)) | 13545 |
| diff(range(x)) | 10059 |
| truerange(x) | 12373 |
| truerange(x) | 4359 |
| diff(range(x)) | 10760 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9237 |
| truerange(x) | 4539 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 9067 |
| truerange(x) | 4338 |
| truerange(x) | 4018 |
| diff(range(x)) | 9448 |
| truerange(x) | 4319 |
| diff(range(x)) | 9327 |
| truerange(x) | 4419 |
| truerange(x) | 3987 |
| truerange(x) | 3948 |
| truerange(x) | 3977 |
| diff(range(x)) | 9919 |
| diff(range(x)) | 9838 |
| diff(range(x)) | 9208 |
| truerange(x) | 4428 |
| diff(range(x)) | 9748 |
| truerange(x) | 4368 |
| diff(range(x)) | 9668 |
| truerange(x) | 4248 |
| truerange(x) | 4027 |
| diff(range(x)) | 9207 |
| diff(range(x)) | 9357 |
| truerange(x) | 4389 |
| diff(range(x)) | 9367 |
| truerange(x) | 4308 |
| diff(range(x)) | 9548 |
| diff(range(x)) | 9198 |
| diff(range(x)) | 9939 |
| truerange(x) | 4298 |
| truerange(x) | 4018 |
| diff(range(x)) | 9788 |
| truerange(x) | 4238 |
| diff(range(x)) | 9238 |
| truerange(x) | 4338 |
| truerange(x) | 4037 |
| truerange(x) | 3977 |
| truerange(x) | 3997 |
| diff(range(x)) | 9788 |
| diff(range(x)) | 9317 |
| diff(range(x)) | 9517 |
| diff(range(x)) | 9958 |
| truerange(x) | 4449 |
| truerange(x) | 4048 |
| truerange(x) | 4008 |
| truerange(x) | 3937 |
| diff(range(x)) | 9278 |
| truerange(x) | 4358 |
| diff(range(x)) | 9427 |
| diff(range(x)) | 9177 |
| diff(range(x)) | 9528 |
| truerange(x) | 4358 |
| diff(range(x)) | 9608 |
| truerange(x) | 4258 |
| diff(range(x)) | 8867 |
| truerange(x) | 4318 |
| diff(range(x)) | 9358 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9688 |
| diff(range(x)) | 10069 |
| truerange(x) | 4408 |
| truerange(x) | 4008 |
| truerange(x) | 4038 |
| diff(range(x)) | 9387 |
| diff(range(x)) | 9117 |
| truerange(x) | 4378 |
| diff(range(x)) | 9719 |
| truerange(x) | 4238 |
| diff(range(x)) | 9357 |
| diff(range(x)) | 9238 |
| truerange(x) | 4328 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 9087 |
| diff(range(x)) | 8927 |
| truerange(x) | 4298 |
| diff(range(x)) | 10529 |
| truerange(x) | 4218 |
| diff(range(x)) | 9377 |
| diff(range(x)) | 9277 |
| truerange(x) | 4237 |
| truerange(x) | 4018 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 9447 |
| diff(range(x)) | 9277 |
| truerange(x) | 4418 |
| diff(range(x)) | 9187 |
| truerange(x) | 4227 |
| truerange(x) | 4007 |
| diff(range(x)) | 9799 |
| truerange(x) | 4188 |
| truerange(x) | 4228 |
| truerange(x) | 4097 |
| truerange(x) | 3998 |
| truerange(x) | 3937 |
| truerange(x) | 3938 |
| truerange(x) | 3977 |
| diff(range(x)) | 9728 |
| truerange(x) | 4308 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9348 |
| diff(range(x)) | 10660 |
| truerange(x) | 4449 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9718 |
| diff(range(x)) | 9518 |
| diff(range(x)) | 9027 |
| truerange(x) | 4308 |
| diff(range(x)) | 9348 |
| truerange(x) | 4248 |
| diff(range(x)) | 9297 |
| truerange(x) | 4198 |
| truerange(x) | 4218 |
| diff(range(x)) | 9408 |
| diff(range(x)) | 10289 |
| diff(range(x)) | 26139 |
| truerange(x) | 4869 |
| truerange(x) | 4207 |
| truerange(x) | 4088 |
| truerange(x) | 4008 |
| diff(range(x)) | 10229 |
| truerange(x) | 4298 |
| diff(range(x)) | 10359 |
| truerange(x) | 4268 |
| truerange(x) | 4147 |
| truerange(x) | 3967 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 9868 |
| diff(range(x)) | 9468 |
| diff(range(x)) | 10159 |
| diff(range(x)) | 9218 |
| diff(range(x)) | 9598 |
| diff(range(x)) | 9858 |
| truerange(x) | 4358 |
| diff(range(x)) | 9418 |
| truerange(x) | 4298 |
| truerange(x) | 3968 |
| diff(range(x)) | 10369 |
| diff(range(x)) | 9568 |
| truerange(x) | 4348 |
| truerange(x) | 4047 |
| diff(range(x)) | 9758 |
| truerange(x) | 4238 |
| diff(range(x)) | 9527 |
| diff(range(x)) | 9498 |
| diff(range(x)) | 9468 |
| truerange(x) | 4659 |
| truerange(x) | 4027 |
| diff(range(x)) | 9177 |
| truerange(x) | 4308 |
| diff(range(x)) | 9387 |
| truerange(x) | 4238 |
| diff(range(x)) | 9248 |
| diff(range(x)) | 9207 |
| truerange(x) | 4408 |
| truerange(x) | 3998 |
| diff(range(x)) | 9397 |
| truerange(x) | 4268 |
| truerange(x) | 4017 |
| truerange(x) | 3978 |
| diff(range(x)) | 9367 |
| truerange(x) | 4188 |
| diff(range(x)) | 9097 |
| truerange(x) | 4228 |
| diff(range(x)) | 10119 |
| truerange(x) | 4188 |
| truerange(x) | 4008 |
| diff(range(x)) | 10018 |
| diff(range(x)) | 9848 |
| diff(range(x)) | 8766 |
| diff(range(x)) | 9597 |
| truerange(x) | 4308 |
| truerange(x) | 4068 |
| diff(range(x)) | 9178 |
| truerange(x) | 4358 |
| truerange(x) | 4028 |
| truerange(x) | 4017 |
| truerange(x) | 3998 |
| truerange(x) | 3988 |
| truerange(x) | 3958 |
| diff(range(x)) | 9538 |
| truerange(x) | 4188 |
| truerange(x) | 3987 |
| truerange(x) | 3978 |
| diff(range(x)) | 9307 |
| truerange(x) | 4238 |
| diff(range(x)) | 9718 |
| diff(range(x)) | 9769 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 8937 |
| truerange(x) | 4358 |
| diff(range(x)) | 9708 |
| diff(range(x)) | 9848 |
| truerange(x) | 4228 |
| truerange(x) | 3987 |
| diff(range(x)) | 9568 |
| truerange(x) | 4248 |
| diff(range(x)) | 9248 |
| diff(range(x)) | 9048 |
| truerange(x) | 4318 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9879 |
| truerange(x) | 4278 |
| truerange(x) | 4027 |
| truerange(x) | 4027 |
| truerange(x) | 3968 |
| truerange(x) | 4007 |
| truerange(x) | 3988 |
| truerange(x) | 3997 |
| diff(range(x)) | 9838 |
| diff(range(x)) | 9598 |
| diff(range(x)) | 8967 |
| truerange(x) | 4318 |
| truerange(x) | 4018 |
| diff(range(x)) | 9598 |
| truerange(x) | 4207 |
| diff(range(x)) | 9298 |
| truerange(x) | 4248 |
| truerange(x) | 4018 |
| diff(range(x)) | 9748 |
| truerange(x) | 4208 |
| truerange(x) | 4118 |
| truerange(x) | 3987 |
| truerange(x) | 3978 |
| truerange(x) | 3977 |
| truerange(x) | 3998 |
| truerange(x) | 3967 |
| diff(range(x)) | 9328 |
| truerange(x) | 4168 |
| diff(range(x)) | 9548 |
| diff(range(x)) | 9529 |
| truerange(x) | 4279 |
| truerange(x) | 3957 |
| truerange(x) | 3947 |
| diff(range(x)) | 9798 |
| diff(range(x)) | 8827 |
| diff(range(x)) | 9377 |
| truerange(x) | 4278 |
| truerange(x) | 3968 |
| truerange(x) | 3957 |
| truerange(x) | 3938 |
| truerange(x) | 3957 |
| diff(range(x)) | 9428 |
| truerange(x) | 4148 |
| diff(range(x)) | 9347 |
| diff(range(x)) | 9086 |
| diff(range(x)) | 9278 |
| truerange(x) | 4358 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 9247 |
| truerange(x) | 4409 |
| truerange(x) | 4458 |
| truerange(x) | 3958 |
| diff(range(x)) | 9407 |
| diff(range(x)) | 9558 |
| truerange(x) | 4338 |
| diff(range(x)) | 9839 |
| truerange(x) | 4198 |
| diff(range(x)) | 9979 |
| diff(range(x)) | 9669 |
| diff(range(x)) | 25147 |
| truerange(x) | 4649 |
| diff(range(x)) | 9999 |
| diff(range(x)) | 9428 |
| diff(range(x)) | 9738 |
| truerange(x) | 4418 |
| truerange(x) | 4047 |
| diff(range(x)) | 10159 |
| diff(range(x)) | 9378 |
| truerange(x) | 4408 |
| diff(range(x)) | 9258 |
| truerange(x) | 4218 |
| truerange(x) | 4067 |
| truerange(x) | 3978 |
| diff(range(x)) | 9918 |
| truerange(x) | 4277 |
| diff(range(x)) | 9908 |
| truerange(x) | 4308 |
| truerange(x) | 3988 |
| truerange(x) | 3977 |
| diff(range(x)) | 9678 |
| truerange(x) | 4177 |
| diff(range(x)) | 9829 |
| truerange(x) | 4238 |
| diff(range(x)) | 9668 |
| diff(range(x)) | 9307 |
| truerange(x) | 4298 |
| truerange(x) | 3967 |
| diff(range(x)) | 9167 |
| truerange(x) | 4167 |
| truerange(x) | 4068 |
| truerange(x) | 4128 |
| diff(range(x)) | 9307 |
| diff(range(x)) | 9166 |
| truerange(x) | 4328 |
| diff(range(x)) | 9487 |
| diff(range(x)) | 9357 |
| diff(range(x)) | 9408 |
| diff(range(x)) | 9167 |
| truerange(x) | 4358 |
| diff(range(x)) | 10059 |
| diff(range(x)) | 9388 |
| truerange(x) | 4328 |
| truerange(x) | 4008 |
| truerange(x) | 3988 |
| diff(range(x)) | 9638 |
| diff(range(x)) | 9318 |
| truerange(x) | 4188 |
| diff(range(x)) | 9187 |
| truerange(x) | 4238 |
| diff(range(x)) | 9137 |
| truerange(x) | 4298 |
| diff(range(x)) | 9418 |
| truerange(x) | 4709 |
| diff(range(x)) | 9107 |
| truerange(x) | 4188 |
| truerange(x) | 4007 |
| diff(range(x)) | 9638 |
| diff(range(x)) | 9026 |
| diff(range(x)) | 9407 |
| diff(range(x)) | 9288 |
| diff(range(x)) | 9437 |
| truerange(x) | 4438 |
| truerange(x) | 4047 |
| truerange(x) | 4037 |
| truerange(x) | 4078 |
| diff(range(x)) | 9357 |
| diff(range(x)) | 9418 |
| diff(range(x)) | 9408 |
| diff(range(x)) | 9187 |
| diff(range(x)) | 9067 |
| truerange(x) | 4588 |
| diff(range(x)) | 9507 |
| truerange(x) | 4288 |
| truerange(x) | 3998 |
| truerange(x) | 4118 |
| truerange(x) | 4007 |
| truerange(x) | 4077 |
| truerange(x) | 3998 |
| truerange(x) | 4248 |
| diff(range(x)) | 9428 |
| diff(range(x)) | 9689 |
| diff(range(x)) | 9317 |
| diff(range(x)) | 9007 |
| truerange(x) | 4459 |
| diff(range(x)) | 9357 |
| truerange(x) | 4328 |
| diff(range(x)) | 9438 |
| diff(range(x)) | 8977 |
| diff(range(x)) | 9458 |
| truerange(x) | 4228 |
| truerange(x) | 4047 |
| truerange(x) | 3977 |
| diff(range(x)) | 9147 |
| diff(range(x)) | 9157 |
| truerange(x) | 4268 |
| truerange(x) | 4037 |
| truerange(x) | 3958 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9337 |
| truerange(x) | 4208 |
| truerange(x) | 3988 |
| truerange(x) | 3978 |
| truerange(x) | 3998 |
| diff(range(x)) | 9658 |
| truerange(x) | 4278 |
| truerange(x) | 4007 |
| diff(range(x)) | 9497 |
| diff(range(x)) | 9408 |
| truerange(x) | 4308 |
| diff(range(x)) | 9188 |
| truerange(x) | 4217 |
| truerange(x) | 3988 |
| truerange(x) | 3977 |
| truerange(x) | 3977 |
| diff(range(x)) | 9247 |
| truerange(x) | 4268 |
| truerange(x) | 3988 |
| diff(range(x)) | 9638 |
| diff(range(x)) | 9718 |
| truerange(x) | 4318 |
| truerange(x) | 4027 |
| diff(range(x)) | 9709 |
| diff(range(x)) | 8927 |
| diff(range(x)) | 8977 |
| diff(range(x)) | 9568 |
| diff(range(x)) | 8927 |
| truerange(x) | 4368 |
| truerange(x) | 3998 |
| truerange(x) | 3977 |
| diff(range(x)) | 9448 |
| truerange(x) | 4338 |
| truerange(x) | 3988 |
| truerange(x) | 4007 |
| diff(range(x)) | 9498 |
| diff(range(x)) | 9297 |
| truerange(x) | 4369 |
| truerange(x) | 3987 |
| diff(range(x)) | 9407 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 8787 |
| diff(range(x)) | 8907 |
| truerange(x) | 4328 |
| diff(range(x)) | 9769 |
| truerange(x) | 4238 |
| truerange(x) | 21520 |
| truerange(x) | 4248 |
| diff(range(x)) | 11973 |
| truerange(x) | 4418 |
| diff(range(x)) | 9498 |
| diff(range(x)) | 9448 |
| truerange(x) | 4279 |
| diff(range(x)) | 9608 |
| truerange(x) | 4187 |
| diff(range(x)) | 9247 |
| diff(range(x)) | 9428 |
| truerange(x) | 4228 |
| diff(range(x)) | 9237 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9949 |
| truerange(x) | 4308 |
| diff(range(x)) | 9267 |
| truerange(x) | 4168 |
| diff(range(x)) | 9218 |
| diff(range(x)) | 9728 |
| truerange(x) | 4198 |
| diff(range(x)) | 9077 |
| truerange(x) | 4198 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 9918 |
| diff(range(x)) | 9068 |
| truerange(x) | 4438 |
| diff(range(x)) | 10129 |
| truerange(x) | 4228 |
| diff(range(x)) | 9598 |
| diff(range(x)) | 9067 |
| truerange(x) | 4498 |
| diff(range(x)) | 9528 |
| truerange(x) | 4157 |
| diff(range(x)) | 9709 |
| diff(range(x)) | 9447 |
| diff(range(x)) | 9548 |
| diff(range(x)) | 9188 |
| diff(range(x)) | 9107 |
| diff(range(x)) | 9257 |
| diff(range(x)) | 9668 |
| diff(range(x)) | 9418 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 9057 |
| truerange(x) | 4529 |
| truerange(x) | 4047 |
| truerange(x) | 3988 |
| truerange(x) | 3967 |
| truerange(x) | 3967 |
| diff(range(x)) | 9017 |
| truerange(x) | 4188 |
| diff(range(x)) | 9317 |
| truerange(x) | 4178 |
| truerange(x) | 3998 |
| truerange(x) | 4007 |
| truerange(x) | 3988 |
| truerange(x) | 3957 |
| truerange(x) | 4068 |
| truerange(x) | 3957 |
| truerange(x) | 3957 |
| diff(range(x)) | 9588 |
| diff(range(x)) | 9488 |
| diff(range(x)) | 9387 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9307 |
| diff(range(x)) | 8717 |
| truerange(x) | 4408 |
| truerange(x) | 4118 |
| diff(range(x)) | 9067 |
| truerange(x) | 4358 |
| truerange(x) | 3978 |
| diff(range(x)) | 9097 |
| truerange(x) | 4228 |
| diff(range(x)) | 9938 |
| diff(range(x)) | 10330 |
| diff(range(x)) | 9257 |
| truerange(x) | 4278 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 9598 |
| diff(range(x)) | 9307 |
| truerange(x) | 4308 |
| truerange(x) | 4008 |
| truerange(x) | 3997 |
| diff(range(x)) | 9408 |
| truerange(x) | 4228 |
| diff(range(x)) | 10389 |
| diff(range(x)) | 9818 |
| diff(range(x)) | 8967 |
| truerange(x) | 4408 |
| diff(range(x)) | 9177 |
| truerange(x) | 4349 |
| diff(range(x)) | 9368 |
| truerange(x) | 4258 |
| truerange(x) | 4018 |
| truerange(x) | 4067 |
| diff(range(x)) | 9228 |
| diff(range(x)) | 9327 |
| diff(range(x)) | 9178 |
| truerange(x) | 4328 |
| diff(range(x)) | 9397 |
| truerange(x) | 4198 |
| truerange(x) | 3998 |
| truerange(x) | 3987 |
| truerange(x) | 4098 |
| truerange(x) | 4058 |
| truerange(x) | 3987 |
| diff(range(x)) | 9778 |
| diff(range(x)) | 8876 |
| truerange(x) | 4288 |
| diff(range(x)) | 9238 |
| diff(range(x)) | 9317 |
| truerange(x) | 4268 |
| truerange(x) | 3967 |
| truerange(x) | 3988 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9688 |
| truerange(x) | 4238 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9347 |
| truerange(x) | 4248 |
| truerange(x) | 4057 |
| truerange(x) | 3998 |
| diff(range(x)) | 9197 |
| diff(range(x)) | 9628 |
| truerange(x) | 4328 |
| truerange(x) | 4028 |
| truerange(x) | 3957 |
| diff(range(x)) | 9167 |
| truerange(x) | 4298 |
| diff(range(x)) | 9087 |
| diff(range(x)) | 9859 |
| truerange(x) | 4368 |
| diff(range(x)) | 9838 |
| diff(range(x)) | 9358 |
| truerange(x) | 4358 |
| diff(range(x)) | 9738 |
| diff(range(x)) | 9418 |
| diff(range(x)) | 8917 |
| truerange(x) | 4278 |
| diff(range(x)) | 24906 |
| diff(range(x)) | 10529 |
| diff(range(x)) | 9378 |
| truerange(x) | 4709 |
| truerange(x) | 4027 |
| diff(range(x)) | 10049 |
| truerange(x) | 4228 |
| diff(range(x)) | 9257 |
| diff(range(x)) | 9418 |
| diff(range(x)) | 10350 |
| truerange(x) | 4708 |
| truerange(x) | 4038 |
| truerange(x) | 3998 |
| diff(range(x)) | 10289 |
| diff(range(x)) | 9789 |
| truerange(x) | 4379 |
| truerange(x) | 4007 |
| diff(range(x)) | 9338 |
| truerange(x) | 4228 |
| diff(range(x)) | 9307 |
| diff(range(x)) | 9208 |
| truerange(x) | 4178 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 8977 |
| truerange(x) | 4368 |
| diff(range(x)) | 9147 |
| truerange(x) | 4419 |
| truerange(x) | 4197 |
| truerange(x) | 3998 |
| truerange(x) | 4038 |
| truerange(x) | 3978 |
| diff(range(x)) | 9327 |
| diff(range(x)) | 9448 |
| truerange(x) | 4268 |
| diff(range(x)) | 9267 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 9769 |
| diff(range(x)) | 9628 |
| truerange(x) | 4348 |
| truerange(x) | 3997 |
| diff(range(x)) | 9198 |
| truerange(x) | 4288 |
| truerange(x) | 4047 |
| diff(range(x)) | 9467 |
| truerange(x) | 4198 |
| diff(range(x)) | 9138 |
| diff(range(x)) | 9457 |
| diff(range(x)) | 9077 |
| truerange(x) | 4288 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 8947 |
| truerange(x) | 4328 |
| diff(range(x)) | 9688 |
| diff(range(x)) | 9148 |
| truerange(x) | 4349 |
| truerange(x) | 4007 |
| truerange(x) | 3958 |
| diff(range(x)) | 9037 |
| truerange(x) | 4228 |
| truerange(x) | 4108 |
| diff(range(x)) | 8956 |
| diff(range(x)) | 9678 |
| diff(range(x)) | 8826 |
| diff(range(x)) | 9086 |
| truerange(x) | 4268 |
| truerange(x) | 3968 |
| diff(range(x)) | 9909 |
| diff(range(x)) | 9377 |
| diff(range(x)) | 9067 |
| truerange(x) | 4288 |
| truerange(x) | 4008 |
| diff(range(x)) | 9428 |
| truerange(x) | 4228 |
| truerange(x) | 3997 |
| truerange(x) | 3958 |
| truerange(x) | 3967 |
| diff(range(x)) | 9147 |
| truerange(x) | 4198 |
| diff(range(x)) | 9618 |
| truerange(x) | 4248 |
| diff(range(x)) | 9298 |
| truerange(x) | 4408 |
| truerange(x) | 4108 |
| truerange(x) | 3968 |
| diff(range(x)) | 9318 |
| diff(range(x)) | 9257 |
| truerange(x) | 4198 |
| diff(range(x)) | 9588 |
| diff(range(x)) | 8997 |
| truerange(x) | 4208 |
| diff(range(x)) | 9237 |
| diff(range(x)) | 9108 |
| truerange(x) | 4177 |
| truerange(x) | 3977 |
| truerange(x) | 3948 |
| diff(range(x)) | 9738 |
| diff(range(x)) | 9057 |
| truerange(x) | 4629 |
| truerange(x) | 4358 |
| diff(range(x)) | 8987 |
| truerange(x) | 4238 |
| diff(range(x)) | 9387 |
| diff(range(x)) | 9418 |
| truerange(x) | 4288 |
| truerange(x) | 4008 |
| truerange(x) | 3987 |
| diff(range(x)) | 9598 |
| diff(range(x)) | 9157 |
| diff(range(x)) | 9627 |
| truerange(x) | 4298 |
| diff(range(x)) | 9698 |
| truerange(x) | 4418 |
| diff(range(x)) | 9287 |
| truerange(x) | 4168 |
| diff(range(x)) | 9027 |
| truerange(x) | 4177 |
| diff(range(x)) | 8777 |
| truerange(x) | 4168 |
| truerange(x) | 4017 |
| truerange(x) | 3967 |
| diff(range(x)) | 9267 |
| diff(range(x)) | 9368 |
| truerange(x) | 4268 |
| diff(range(x)) | 9398 |
| truerange(x) | 4198 |
| diff(range(x)) | 9307 |
| truerange(x) | 4168 |
| diff(range(x)) | 9889 |
| diff(range(x)) | 10099 |
| truerange(x) | 4358 |
| truerange(x) | 4018 |
| truerange(x) | 3988 |
| diff(range(x)) | 9318 |
| truerange(x) | 4299 |
| truerange(x) | 3987 |
| truerange(x) | 4028 |
| truerange(x) | 3967 |
| diff(range(x)) | 9368 |
| truerange(x) | 4238 |
| diff(range(x)) | 9357 |
| diff(range(x)) | 9247 |
| truerange(x) | 4288 |
| truerange(x) | 4058 |
| truerange(x) | 3967 |
| diff(range(x)) | 9047 |
| truerange(x) | 4358 |
| diff(range(x)) | 22422 |
| diff(range(x)) | 10079 |
| diff(range(x)) | 9228 |
| diff(range(x)) | 9738 |
| diff(range(x)) | 9077 |
| truerange(x) | 4879 |
| truerange(x) | 4008 |
| truerange(x) | 3977 |
| truerange(x) | 4048 |
| truerange(x) | 3987 |
| diff(range(x)) | 9557 |
| diff(range(x)) | 9288 |
| diff(range(x)) | 9217 |
| truerange(x) | 4238 |
| truerange(x) | 3998 |
| diff(range(x)) | 9287 |
| truerange(x) | 4288 |
| truerange(x) | 3987 |
| truerange(x) | 3988 |
| diff(range(x)) | 9589 |
| truerange(x) | 4399 |
| diff(range(x)) | 9908 |
| diff(range(x)) | 9828 |
| diff(range(x)) | 9267 |
| diff(range(x)) | 9749 |
| diff(range(x)) | 9287 |
| diff(range(x)) | 9167 |
| diff(range(x)) | 9518 |
| diff(range(x)) | 9418 |
| truerange(x) | 4398 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9067 |
| truerange(x) | 4519 |
| diff(range(x)) | 9287 |
| truerange(x) | 4298 |
| truerange(x) | 4088 |
| truerange(x) | 3977 |
| diff(range(x)) | 9558 |
| truerange(x) | 4219 |
| truerange(x) | 4088 |
| truerange(x) | 3958 |
| truerange(x) | 3977 |
| diff(range(x)) | 9528 |
| truerange(x) | 4148 |
| truerange(x) | 3967 |
| diff(range(x)) | 9948 |
| diff(range(x)) | 9448 |
| truerange(x) | 4198 |
| truerange(x) | 3997 |
| truerange(x) | 3938 |
| truerange(x) | 3998 |
| truerange(x) | 3997 |
| truerange(x) | 3988 |
| diff(range(x)) | 9467 |
| truerange(x) | 4208 |
| truerange(x) | 4027 |
| truerange(x) | 4078 |
| diff(range(x)) | 9107 |
| diff(range(x)) | 9778 |
| truerange(x) | 4198 |
| diff(range(x)) | 9458 |
| truerange(x) | 4679 |
| truerange(x) | 3997 |
| truerange(x) | 3997 |
| diff(range(x)) | 9478 |
| truerange(x) | 4178 |
| truerange(x) | 3977 |
| diff(range(x)) | 9518 |
| truerange(x) | 4318 |
| truerange(x) | 3977 |
| truerange(x) | 3998 |
| diff(range(x)) | 9267 |
| truerange(x) | 4248 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9478 |
| truerange(x) | 4228 |
| truerange(x) | 4018 |
| diff(range(x)) | 9327 |
| truerange(x) | 4228 |
| diff(range(x)) | 9838 |
| diff(range(x)) | 9387 |
| diff(range(x)) | 8817 |
| truerange(x) | 4488 |
| diff(range(x)) | 9228 |
| diff(range(x)) | 9407 |
| truerange(x) | 4268 |
| diff(range(x)) | 8827 |
| truerange(x) | 4408 |
| diff(range(x)) | 9368 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9188 |
| truerange(x) | 4228 |
| diff(range(x)) | 9457 |
| diff(range(x)) | 9268 |
| diff(range(x)) | 9227 |
| diff(range(x)) | 13365 |
| diff(range(x)) | 9648 |
| diff(range(x)) | 9178 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 9087 |
| truerange(x) | 4639 |
| truerange(x) | 4068 |
| diff(range(x)) | 9567 |
| truerange(x) | 4378 |
| diff(range(x)) | 9147 |
| diff(range(x)) | 9217 |
| truerange(x) | 4188 |
| diff(range(x)) | 9107 |
| diff(range(x)) | 9708 |
| diff(range(x)) | 9267 |
| truerange(x) | 4518 |
| truerange(x) | 4028 |
| truerange(x) | 4027 |
| truerange(x) | 3967 |
| truerange(x) | 3947 |
| truerange(x) | 3957 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9117 |
| diff(range(x)) | 9268 |
| diff(range(x)) | 8987 |
| truerange(x) | 4299 |
| truerange(x) | 3997 |
| truerange(x) | 4178 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9157 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 9258 |
| truerange(x) | 4299 |
| diff(range(x)) | 9287 |
| truerange(x) | 4298 |
| diff(range(x)) | 9328 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9037 |
| diff(range(x)) | 9348 |
| diff(range(x)) | 9177 |
| diff(range(x)) | 9448 |
| truerange(x) | 4498 |
| truerange(x) | 3978 |
| truerange(x) | 4037 |
| diff(range(x)) | 22622 |
| diff(range(x)) | 9798 |
| truerange(x) | 4799 |
| truerange(x) | 4068 |
| truerange(x) | 3967 |
| diff(range(x)) | 9417 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 10119 |
| diff(range(x)) | 9097 |
| truerange(x) | 4348 |
| truerange(x) | 4048 |
| truerange(x) | 3988 |
| diff(range(x)) | 9027 |
| truerange(x) | 4238 |
| diff(range(x)) | 9618 |
| truerange(x) | 4228 |
| truerange(x) | 3997 |
| diff(range(x)) | 9347 |
| truerange(x) | 4258 |
| truerange(x) | 4098 |
| diff(range(x)) | 9518 |
| truerange(x) | 4168 |
| diff(range(x)) | 9037 |
| truerange(x) | 4348 |
| diff(range(x)) | 9287 |
| truerange(x) | 4228 |
| truerange(x) | 4028 |
| diff(range(x)) | 9217 |
| truerange(x) | 4188 |
| diff(range(x)) | 9007 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9147 |
| diff(range(x)) | 9297 |
| diff(range(x)) | 9558 |
| truerange(x) | 4359 |
| truerange(x) | 4058 |
| diff(range(x)) | 9558 |
| diff(range(x)) | 8937 |
| diff(range(x)) | 9598 |
| truerange(x) | 4198 |
| diff(range(x)) | 9448 |
| truerange(x) | 4188 |
| truerange(x) | 3997 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 10339 |
| diff(range(x)) | 8947 |
| diff(range(x)) | 9689 |
| diff(range(x)) | 9077 |
| truerange(x) | 4308 |
| truerange(x) | 4017 |
| truerange(x) | 3988 |
| truerange(x) | 3987 |
| truerange(x) | 3978 |
| truerange(x) | 3957 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 9047 |
| diff(range(x)) | 9367 |
| diff(range(x)) | 9137 |
| truerange(x) | 4469 |
| truerange(x) | 3987 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 9878 |
| truerange(x) | 4288 |
| truerange(x) | 4007 |
| truerange(x) | 3978 |
| truerange(x) | 3947 |
| truerange(x) | 3957 |
| diff(range(x)) | 9567 |
| truerange(x) | 4248 |
| diff(range(x)) | 9138 |
| diff(range(x)) | 9077 |
| diff(range(x)) | 9518 |
| truerange(x) | 4278 |
| truerange(x) | 3997 |
| diff(range(x)) | 9147 |
| truerange(x) | 4328 |
| truerange(x) | 4087 |
| diff(range(x)) | 10039 |
| truerange(x) | 4228 |
| truerange(x) | 3978 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9528 |
| truerange(x) | 4248 |
| diff(range(x)) | 9087 |
| truerange(x) | 4178 |
| truerange(x) | 3977 |
| diff(range(x)) | 9077 |
| truerange(x) | 4248 |
| diff(range(x)) | 9668 |
| diff(range(x)) | 9177 |
| truerange(x) | 4278 |
| truerange(x) | 4198 |
| diff(range(x)) | 9067 |
| truerange(x) | 4278 |
| truerange(x) | 4018 |
| diff(range(x)) | 9317 |
| diff(range(x)) | 9728 |
| diff(range(x)) | 9577 |
| diff(range(x)) | 9407 |
| truerange(x) | 4439 |
| truerange(x) | 3997 |
| truerange(x) | 4008 |
| truerange(x) | 3957 |
| truerange(x) | 3958 |
| diff(range(x)) | 9718 |
| diff(range(x)) | 9518 |
| diff(range(x)) | 9438 |
| truerange(x) | 4318 |
| truerange(x) | 3947 |
| diff(range(x)) | 9558 |
| truerange(x) | 4198 |
| truerange(x) | 3967 |
| diff(range(x)) | 9457 |
| truerange(x) | 4228 |
| diff(range(x)) | 9949 |
| diff(range(x)) | 9598 |
| truerange(x) | 4258 |
| diff(range(x)) | 9438 |
| truerange(x) | 4308 |
| truerange(x) | 4028 |
| truerange(x) | 3977 |
| truerange(x) | 4018 |
| truerange(x) | 4058 |
| diff(range(x)) | 9487 |
| diff(range(x)) | 9308 |
| truerange(x) | 4388 |
| truerange(x) | 3998 |
| truerange(x) | 3977 |
| diff(range(x)) | 10119 |
| truerange(x) | 4328 |
| diff(range(x)) | 9066 |
| truerange(x) | 4288 |
| truerange(x) | 3968 |
| truerange(x) | 3988 |
| diff(range(x)) | 9598 |
| truerange(x) | 4368 |
| diff(range(x)) | 9328 |
| truerange(x) | 4188 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9157 |
| truerange(x) | 4488 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9748 |
| diff(range(x)) | 9228 |
| truerange(x) | 4418 |
| truerange(x) | 4208 |
| diff(range(x)) | 23213 |
| truerange(x) | 4639 |
| diff(range(x)) | 10359 |
| truerange(x) | 4228 |
| truerange(x) | 4207 |
| diff(range(x)) | 9738 |
| diff(range(x)) | 9167 |
| truerange(x) | 4218 |
| truerange(x) | 3998 |
| truerange(x) | 3977 |
| truerange(x) | 3978 |
It isn’t hard to create body mass index (BMI) groups from continuous BMI values, but it is hard to remember how BMI values on the cutpoints get classified. The cutpoints according to the CDC are:
| BMI values | Classification |
|---|---|
| < 18.5 | Underweight |
| [18.5, 25) | Normal weight |
| [25, 30) | Overweight |
| >= 30 | Obese |
The function bmi3 creates 3 groups (lumping the first two
above into “Normal weight”), while bmi4 creates 4 groups. Both
return factor variables, with or without labels depending on
labels.
| Normal weight | Overweight | Obese |
|---|---|---|
| 32 | 21 | 47 |
| [-Inf,18.5) | [18.5,25) | [25,30) | [30, Inf) |
|---|---|---|---|
| 8 | 24 | 21 | 47 |
This function creates tables summarizing results of statistical simulations, providing common metrics of performance like mean bias, standard deviation, mean standard error, mean squared error, and confidence interval coverage.
To illustrate, suppose \(X_1, ..., X_n \sim N(\mu, \sigma^2)\), and we wish to compare two estimators for \(\sigma^2\): the MLE (\(n\) in denominator) vs. the sample variance (\(n-1\) in denominator).
MLE <- c()
s2 <- c()
for (ii in 1: 1000) {
x <- rnorm(n = 25)
MLE[ii] <- sum((x - mean(x))^2) / 25
s2[ii] <- sum((x - mean(x))^2) / 24
}
kable(sumsim(estimates = cbind(MLE, s2), truth = 1))| Mean bias | SD | MSE | |
|---|---|---|---|
| MLE | -0.053 | 0.280 | 0.081 |
| s2 | -0.013 | 0.292 | 0.085 |
You can request different performance metrics through the
statistics input; some of them, like confidence interval
coverage, require specifying ses with standard errors.
The function moving_mean is one of dozens of moving average functions available in R. I’m not sure it’s the absolute fastest, but it is much faster than roll_mean in RcppRoll.
library("RcppRoll")
lengths <- c(10, 100, 1000, 10000)
multiples1 <- multiples2 <- c()
for (ii in 1: 4) {
n <- lengths[ii]
x <- rnorm(n)
medians <- summary(microbenchmark(roll_mean(x, 5), moving_mean(x, 5),
roll_mean(x, n / 5), moving_mean(x, n / 5),
times = 50))$median
multiples1[ii] <- medians[1] / medians[2]
multiples2[ii] <- medians[3] / medians[4]
}
par(mfrow = c(1, 2))
plot(1: 4, multiples1, type = "b", col = "blue", main = "5-unit MA",
ylab = "Speed multiple", xlab = "Vector length", xaxt = "n",
ylim = c(0, max(multiples1) * 1.05))
axis(side = 1, at = 1: 4, labels = lengths)
abline(h = 1)
plot(1: 4, multiples2, type = "b", col = "blue", main = "length(x)/5-unit MA",
ylab = "Speed multiple", xlab = "Vector length", xaxt = "n",
ylim = c(0, max(multiples2) * 1.05))
axis(side = 1, at = 1: 4, labels = lengths)
abline(h = 1)This function is similar to the base R function hist,
but with two added features:
Can overlay one or more fitted probability density/mass functions
(PDFs/PMFs) for any univariate distribution supported in R (see
?Distributions).
Can generate more of a barplot type histogram, where each possible value gets its own bin centered over its value (useful for discrete variables with not too many possible values).
Here are two examples:
# Histogram for 1,000 values from Bin(8, 0.25)
x <- rbinom(n = 1000, size = 5, prob = 0.25)
histo(x, dis = "binom", size = 5, colors = "blue", points_list = list(type = "b"))
# Histogram for 10,000 values from lognormal(0, 0.35) and various fitted PDFs.
x <- rlnorm(n = 10000, meanlog = 0, sdlog = 0.35)
histo(x, c("lnorm", "norm", "gamma"), main = "X ~ Lognormal(0, 0.35)")