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.606 9.1265 9.585488 9.348 9.5730 41.327 500
#> truerange(x) 4.228 4.2980 4.579840 4.468 4.5435 20.718 500| expr | time |
|---|---|
| diff(range(x)) | 41327 |
| diff(range(x)) | 14437 |
| diff(range(x)) | 10880 |
| truerange(x) | 13806 |
| truerange(x) | 4719 |
| diff(range(x)) | 11171 |
| diff(range(x)) | 10199 |
| diff(range(x)) | 9819 |
| truerange(x) | 4860 |
| diff(range(x)) | 9908 |
| diff(range(x)) | 9448 |
| diff(range(x)) | 9768 |
| truerange(x) | 4749 |
| truerange(x) | 4318 |
| diff(range(x)) | 9819 |
| truerange(x) | 4508 |
| diff(range(x)) | 9557 |
| truerange(x) | 4479 |
| truerange(x) | 4318 |
| truerange(x) | 4288 |
| truerange(x) | 4308 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9368 |
| diff(range(x)) | 9367 |
| truerange(x) | 4608 |
| diff(range(x)) | 9618 |
| truerange(x) | 4539 |
| diff(range(x)) | 9588 |
| truerange(x) | 4538 |
| truerange(x) | 4479 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 9878 |
| truerange(x) | 4518 |
| diff(range(x)) | 9728 |
| truerange(x) | 4529 |
| diff(range(x)) | 9398 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 9317 |
| truerange(x) | 4499 |
| truerange(x) | 4318 |
| diff(range(x)) | 9999 |
| truerange(x) | 4538 |
| diff(range(x)) | 10019 |
| truerange(x) | 4458 |
| truerange(x) | 4268 |
| truerange(x) | 4279 |
| truerange(x) | 4289 |
| diff(range(x)) | 9978 |
| diff(range(x)) | 10240 |
| diff(range(x)) | 10180 |
| diff(range(x)) | 10068 |
| truerange(x) | 4748 |
| truerange(x) | 20718 |
| truerange(x) | 4699 |
| truerange(x) | 4348 |
| diff(range(x)) | 12803 |
| truerange(x) | 4648 |
| diff(range(x)) | 10841 |
| diff(range(x)) | 9738 |
| diff(range(x)) | 9628 |
| truerange(x) | 4589 |
| diff(range(x)) | 9507 |
| truerange(x) | 4498 |
| diff(range(x)) | 9428 |
| truerange(x) | 4468 |
| diff(range(x)) | 9548 |
| diff(range(x)) | 9719 |
| diff(range(x)) | 10559 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9357 |
| truerange(x) | 4639 |
| truerange(x) | 4298 |
| truerange(x) | 4309 |
| diff(range(x)) | 9629 |
| diff(range(x)) | 9678 |
| truerange(x) | 4518 |
| diff(range(x)) | 9698 |
| truerange(x) | 4608 |
| diff(range(x)) | 9768 |
| diff(range(x)) | 9358 |
| truerange(x) | 4558 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 10009 |
| diff(range(x)) | 9458 |
| truerange(x) | 4849 |
| diff(range(x)) | 9278 |
| truerange(x) | 4498 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 9498 |
| truerange(x) | 4749 |
| truerange(x) | 4839 |
| diff(range(x)) | 9848 |
| diff(range(x)) | 10009 |
| diff(range(x)) | 9268 |
| truerange(x) | 4739 |
| diff(range(x)) | 9467 |
| truerange(x) | 4479 |
| truerange(x) | 4388 |
| diff(range(x)) | 9568 |
| truerange(x) | 4458 |
| truerange(x) | 4308 |
| truerange(x) | 4308 |
| truerange(x) | 4318 |
| truerange(x) | 4298 |
| truerange(x) | 4288 |
| truerange(x) | 4258 |
| diff(range(x)) | 10129 |
| truerange(x) | 4479 |
| diff(range(x)) | 9367 |
| diff(range(x)) | 9257 |
| diff(range(x)) | 9608 |
| truerange(x) | 4478 |
| diff(range(x)) | 10380 |
| diff(range(x)) | 9378 |
| diff(range(x)) | 10049 |
| diff(range(x)) | 9358 |
| truerange(x) | 4569 |
| diff(range(x)) | 9218 |
| truerange(x) | 4509 |
| diff(range(x)) | 9618 |
| truerange(x) | 4479 |
| truerange(x) | 4308 |
| diff(range(x)) | 9728 |
| diff(range(x)) | 9328 |
| diff(range(x)) | 9367 |
| truerange(x) | 4769 |
| truerange(x) | 4338 |
| truerange(x) | 4328 |
| truerange(x) | 4308 |
| diff(range(x)) | 9868 |
| truerange(x) | 4498 |
| diff(range(x)) | 9397 |
| truerange(x) | 4559 |
| truerange(x) | 4288 |
| truerange(x) | 4358 |
| diff(range(x)) | 9458 |
| diff(range(x)) | 9638 |
| diff(range(x)) | 9358 |
| diff(range(x)) | 11332 |
| diff(range(x)) | 9658 |
| diff(range(x)) | 9608 |
| diff(range(x)) | 9648 |
| truerange(x) | 4609 |
| diff(range(x)) | 9468 |
| truerange(x) | 4508 |
| truerange(x) | 4398 |
| diff(range(x)) | 9607 |
| diff(range(x)) | 9618 |
| truerange(x) | 4638 |
| truerange(x) | 4298 |
| diff(range(x)) | 9618 |
| truerange(x) | 4479 |
| diff(range(x)) | 9578 |
| diff(range(x)) | 9498 |
| diff(range(x)) | 10920 |
| truerange(x) | 4519 |
| truerange(x) | 4288 |
| diff(range(x)) | 9738 |
| truerange(x) | 4479 |
| diff(range(x)) | 9297 |
| truerange(x) | 4448 |
| diff(range(x)) | 9888 |
| diff(range(x)) | 9889 |
| truerange(x) | 4588 |
| truerange(x) | 4379 |
| diff(range(x)) | 9438 |
| truerange(x) | 4739 |
| truerange(x) | 4359 |
| truerange(x) | 4308 |
| diff(range(x)) | 9427 |
| truerange(x) | 4429 |
| diff(range(x)) | 9648 |
| truerange(x) | 4478 |
| diff(range(x)) | 10089 |
| truerange(x) | 4509 |
| truerange(x) | 4388 |
| diff(range(x)) | 9949 |
| diff(range(x)) | 10349 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 9618 |
| truerange(x) | 4518 |
| truerange(x) | 4568 |
| diff(range(x)) | 10309 |
| truerange(x) | 4518 |
| truerange(x) | 4348 |
| truerange(x) | 4308 |
| truerange(x) | 4279 |
| truerange(x) | 4429 |
| truerange(x) | 4458 |
| diff(range(x)) | 24225 |
| truerange(x) | 4909 |
| truerange(x) | 4348 |
| truerange(x) | 4309 |
| diff(range(x)) | 10750 |
| truerange(x) | 4538 |
| diff(range(x)) | 9678 |
| diff(range(x)) | 9408 |
| diff(range(x)) | 9338 |
| diff(range(x)) | 9488 |
| diff(range(x)) | 9497 |
| truerange(x) | 4579 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 9317 |
| truerange(x) | 4689 |
| truerange(x) | 4799 |
| diff(range(x)) | 10560 |
| truerange(x) | 4479 |
| diff(range(x)) | 10700 |
| diff(range(x)) | 9257 |
| truerange(x) | 4619 |
| diff(range(x)) | 9808 |
| diff(range(x)) | 10319 |
| diff(range(x)) | 9679 |
| truerange(x) | 4608 |
| truerange(x) | 4388 |
| truerange(x) | 4258 |
| truerange(x) | 4248 |
| truerange(x) | 4268 |
| truerange(x) | 4278 |
| truerange(x) | 4298 |
| diff(range(x)) | 9198 |
| diff(range(x)) | 9168 |
| diff(range(x)) | 9127 |
| truerange(x) | 4579 |
| truerange(x) | 4358 |
| diff(range(x)) | 9378 |
| truerange(x) | 4478 |
| diff(range(x)) | 9087 |
| truerange(x) | 4499 |
| truerange(x) | 4279 |
| diff(range(x)) | 9287 |
| truerange(x) | 4448 |
| truerange(x) | 4257 |
| truerange(x) | 4268 |
| truerange(x) | 4428 |
| truerange(x) | 4278 |
| truerange(x) | 4288 |
| truerange(x) | 4258 |
| diff(range(x)) | 8967 |
| truerange(x) | 4449 |
| diff(range(x)) | 9207 |
| diff(range(x)) | 9127 |
| truerange(x) | 4438 |
| truerange(x) | 4258 |
| truerange(x) | 4268 |
| diff(range(x)) | 9146 |
| diff(range(x)) | 9948 |
| diff(range(x)) | 9388 |
| truerange(x) | 4468 |
| truerange(x) | 4349 |
| truerange(x) | 4248 |
| truerange(x) | 4258 |
| truerange(x) | 4248 |
| diff(range(x)) | 9658 |
| truerange(x) | 4458 |
| diff(range(x)) | 9338 |
| diff(range(x)) | 9417 |
| diff(range(x)) | 9548 |
| truerange(x) | 4638 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 9478 |
| truerange(x) | 4449 |
| truerange(x) | 4288 |
| truerange(x) | 4458 |
| diff(range(x)) | 9358 |
| diff(range(x)) | 9297 |
| truerange(x) | 4679 |
| diff(range(x)) | 9257 |
| truerange(x) | 4489 |
| diff(range(x)) | 9247 |
| diff(range(x)) | 8857 |
| diff(range(x)) | 9438 |
| truerange(x) | 4578 |
| diff(range(x)) | 9007 |
| diff(range(x)) | 9227 |
| diff(range(x)) | 9137 |
| truerange(x) | 4548 |
| truerange(x) | 4308 |
| diff(range(x)) | 9699 |
| diff(range(x)) | 8997 |
| truerange(x) | 4518 |
| diff(range(x)) | 9097 |
| truerange(x) | 4659 |
| truerange(x) | 4308 |
| truerange(x) | 4268 |
| diff(range(x)) | 9358 |
| truerange(x) | 4448 |
| diff(range(x)) | 9447 |
| truerange(x) | 4519 |
| truerange(x) | 4298 |
| truerange(x) | 4268 |
| diff(range(x)) | 9217 |
| truerange(x) | 4599 |
| diff(range(x)) | 9467 |
| truerange(x) | 4469 |
| diff(range(x)) | 9027 |
| diff(range(x)) | 9408 |
| truerange(x) | 4668 |
| truerange(x) | 4337 |
| diff(range(x)) | 9377 |
| truerange(x) | 4479 |
| truerange(x) | 4358 |
| truerange(x) | 4238 |
| diff(range(x)) | 9237 |
| diff(range(x)) | 9218 |
| truerange(x) | 4598 |
| diff(range(x)) | 9247 |
| diff(range(x)) | 9437 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 8666 |
| truerange(x) | 4568 |
| diff(range(x)) | 9238 |
| diff(range(x)) | 9057 |
| truerange(x) | 4699 |
| truerange(x) | 4268 |
| truerange(x) | 4248 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 8997 |
| truerange(x) | 4548 |
| diff(range(x)) | 9067 |
| truerange(x) | 4428 |
| diff(range(x)) | 8857 |
| truerange(x) | 4458 |
| diff(range(x)) | 9268 |
| truerange(x) | 4498 |
| diff(range(x)) | 9047 |
| truerange(x) | 4479 |
| truerange(x) | 4248 |
| diff(range(x)) | 9708 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9318 |
| diff(range(x)) | 8786 |
| diff(range(x)) | 23684 |
| truerange(x) | 5089 |
| truerange(x) | 4349 |
| truerange(x) | 4308 |
| truerange(x) | 4298 |
| diff(range(x)) | 9828 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 9037 |
| diff(range(x)) | 9669 |
| diff(range(x)) | 9398 |
| truerange(x) | 4749 |
| diff(range(x)) | 9288 |
| truerange(x) | 4518 |
| truerange(x) | 4319 |
| truerange(x) | 4268 |
| truerange(x) | 4239 |
| truerange(x) | 4239 |
| truerange(x) | 4248 |
| truerange(x) | 4328 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 9277 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9568 |
| truerange(x) | 4609 |
| diff(range(x)) | 9177 |
| truerange(x) | 4498 |
| diff(range(x)) | 9046 |
| diff(range(x)) | 9027 |
| diff(range(x)) | 9859 |
| truerange(x) | 4629 |
| truerange(x) | 4289 |
| truerange(x) | 4278 |
| diff(range(x)) | 9538 |
| diff(range(x)) | 9377 |
| truerange(x) | 4499 |
| truerange(x) | 4268 |
| truerange(x) | 4278 |
| diff(range(x)) | 9397 |
| diff(range(x)) | 9257 |
| truerange(x) | 4498 |
| truerange(x) | 4268 |
| truerange(x) | 4288 |
| truerange(x) | 4248 |
| diff(range(x)) | 9387 |
| truerange(x) | 4559 |
| truerange(x) | 4519 |
| diff(range(x)) | 9487 |
| diff(range(x)) | 9518 |
| truerange(x) | 4549 |
| diff(range(x)) | 9487 |
| truerange(x) | 4478 |
| truerange(x) | 4469 |
| truerange(x) | 4258 |
| truerange(x) | 4318 |
| diff(range(x)) | 9017 |
| truerange(x) | 4458 |
| truerange(x) | 4429 |
| diff(range(x)) | 12775 |
| diff(range(x)) | 9477 |
| truerange(x) | 4709 |
| truerange(x) | 4258 |
| diff(range(x)) | 9969 |
| diff(range(x)) | 8987 |
| diff(range(x)) | 9698 |
| diff(range(x)) | 9107 |
| diff(range(x)) | 9438 |
| truerange(x) | 4709 |
| truerange(x) | 4438 |
| truerange(x) | 4319 |
| diff(range(x)) | 8976 |
| truerange(x) | 4499 |
| truerange(x) | 4378 |
| truerange(x) | 4368 |
| diff(range(x)) | 9448 |
| diff(range(x)) | 8957 |
| truerange(x) | 4578 |
| truerange(x) | 4277 |
| diff(range(x)) | 9197 |
| diff(range(x)) | 9227 |
| diff(range(x)) | 9348 |
| diff(range(x)) | 9167 |
| truerange(x) | 4639 |
| diff(range(x)) | 9408 |
| truerange(x) | 4509 |
| truerange(x) | 4388 |
| truerange(x) | 4339 |
| diff(range(x)) | 9739 |
| truerange(x) | 4488 |
| diff(range(x)) | 9318 |
| diff(range(x)) | 8876 |
| truerange(x) | 4508 |
| diff(range(x)) | 9628 |
| truerange(x) | 4479 |
| diff(range(x)) | 9498 |
| diff(range(x)) | 9057 |
| truerange(x) | 4518 |
| diff(range(x)) | 9107 |
| diff(range(x)) | 9217 |
| diff(range(x)) | 8707 |
| truerange(x) | 4518 |
| diff(range(x)) | 9478 |
| truerange(x) | 4609 |
| diff(range(x)) | 8967 |
| diff(range(x)) | 9557 |
| truerange(x) | 4588 |
| diff(range(x)) | 9508 |
| truerange(x) | 4498 |
| diff(range(x)) | 9387 |
| diff(range(x)) | 9037 |
| diff(range(x)) | 9648 |
| truerange(x) | 4489 |
| diff(range(x)) | 9187 |
| truerange(x) | 4519 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 9368 |
| truerange(x) | 4539 |
| diff(range(x)) | 9457 |
| truerange(x) | 4549 |
| diff(range(x)) | 9337 |
| diff(range(x)) | 9088 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9497 |
| diff(range(x)) | 8907 |
| diff(range(x)) | 9358 |
| diff(range(x)) | 8666 |
| diff(range(x)) | 9077 |
| diff(range(x)) | 8806 |
| diff(range(x)) | 9898 |
| truerange(x) | 4649 |
| truerange(x) | 4418 |
| truerange(x) | 4278 |
| truerange(x) | 4248 |
| truerange(x) | 4258 |
| diff(range(x)) | 9087 |
| truerange(x) | 4538 |
| diff(range(x)) | 9337 |
| truerange(x) | 4538 |
| truerange(x) | 4268 |
| truerange(x) | 4248 |
| truerange(x) | 4238 |
| truerange(x) | 4258 |
| truerange(x) | 17002 |
| truerange(x) | 4689 |
| truerange(x) | 4388 |
| diff(range(x)) | 11712 |
| diff(range(x)) | 10270 |
| diff(range(x)) | 9398 |
| diff(range(x)) | 9077 |
| diff(range(x)) | 9378 |
| diff(range(x)) | 9267 |
| truerange(x) | 4749 |
| truerange(x) | 4418 |
| diff(range(x)) | 9247 |
| truerange(x) | 4498 |
| truerange(x) | 4288 |
| diff(range(x)) | 9557 |
| truerange(x) | 4499 |
| diff(range(x)) | 9317 |
| diff(range(x)) | 9368 |
| diff(range(x)) | 9107 |
| truerange(x) | 4609 |
| diff(range(x)) | 9367 |
| diff(range(x)) | 8966 |
| diff(range(x)) | 9448 |
| truerange(x) | 4568 |
| truerange(x) | 4378 |
| truerange(x) | 4288 |
| diff(range(x)) | 9067 |
| truerange(x) | 4558 |
| diff(range(x)) | 8977 |
| diff(range(x)) | 9178 |
| diff(range(x)) | 9017 |
| truerange(x) | 4558 |
| diff(range(x)) | 9288 |
| truerange(x) | 4538 |
| diff(range(x)) | 9588 |
| truerange(x) | 4489 |
| truerange(x) | 4288 |
| truerange(x) | 4268 |
| diff(range(x)) | 9358 |
| diff(range(x)) | 10038 |
| diff(range(x)) | 9066 |
| truerange(x) | 4508 |
| diff(range(x)) | 8957 |
| truerange(x) | 4548 |
| truerange(x) | 4319 |
| truerange(x) | 4329 |
| truerange(x) | 4458 |
| truerange(x) | 4238 |
| truerange(x) | 4258 |
| diff(range(x)) | 9077 |
| diff(range(x)) | 10209 |
| truerange(x) | 4618 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 8907 |
| truerange(x) | 4478 |
| truerange(x) | 4268 |
| truerange(x) | 4338 |
| diff(range(x)) | 9208 |
| diff(range(x)) | 9037 |
| truerange(x) | 4478 |
| diff(range(x)) | 10440 |
| diff(range(x)) | 9548 |
| truerange(x) | 4548 |
| truerange(x) | 4308 |
| truerange(x) | 4237 |
| diff(range(x)) | 9088 |
| diff(range(x)) | 9668 |
| truerange(x) | 4669 |
| truerange(x) | 4277 |
| truerange(x) | 4248 |
| diff(range(x)) | 9658 |
| truerange(x) | 4498 |
| diff(range(x)) | 9318 |
| diff(range(x)) | 9728 |
| truerange(x) | 4538 |
| diff(range(x)) | 9257 |
| diff(range(x)) | 9387 |
| truerange(x) | 4468 |
| diff(range(x)) | 9297 |
| diff(range(x)) | 9659 |
| diff(range(x)) | 9147 |
| truerange(x) | 4618 |
| diff(range(x)) | 10108 |
| diff(range(x)) | 9267 |
| diff(range(x)) | 9147 |
| truerange(x) | 4539 |
| truerange(x) | 4308 |
| diff(range(x)) | 9488 |
| truerange(x) | 4588 |
| diff(range(x)) | 8797 |
| diff(range(x)) | 9247 |
| diff(range(x)) | 9558 |
| truerange(x) | 4609 |
| truerange(x) | 4318 |
| truerange(x) | 4499 |
| diff(range(x)) | 9128 |
| diff(range(x)) | 9147 |
| truerange(x) | 4538 |
| truerange(x) | 4449 |
| diff(range(x)) | 9538 |
| truerange(x) | 4468 |
| diff(range(x)) | 9128 |
| diff(range(x)) | 9207 |
| truerange(x) | 4498 |
| diff(range(x)) | 9328 |
| diff(range(x)) | 9157 |
| truerange(x) | 4689 |
| diff(range(x)) | 9427 |
| truerange(x) | 4568 |
| truerange(x) | 4288 |
| truerange(x) | 4299 |
| truerange(x) | 4459 |
| truerange(x) | 4729 |
| diff(range(x)) | 9477 |
| diff(range(x)) | 9508 |
| truerange(x) | 4489 |
| diff(range(x)) | 9207 |
| diff(range(x)) | 9588 |
| diff(range(x)) | 8857 |
| diff(range(x)) | 8957 |
| truerange(x) | 4568 |
| truerange(x) | 4709 |
| diff(range(x)) | 9177 |
| truerange(x) | 4498 |
| truerange(x) | 4308 |
| diff(range(x)) | 9638 |
| truerange(x) | 4478 |
| diff(range(x)) | 9037 |
| diff(range(x)) | 10229 |
| diff(range(x)) | 9097 |
| truerange(x) | 4539 |
| diff(range(x)) | 9087 |
| diff(range(x)) | 8967 |
| truerange(x) | 4458 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 8987 |
| truerange(x) | 4689 |
| truerange(x) | 4338 |
| truerange(x) | 4268 |
| diff(range(x)) | 29596 |
| truerange(x) | 6963 |
| truerange(x) | 5109 |
| diff(range(x)) | 16530 |
| diff(range(x)) | 9969 |
| diff(range(x)) | 10149 |
| diff(range(x)) | 9548 |
| truerange(x) | 4990 |
| truerange(x) | 4299 |
| diff(range(x)) | 9447 |
| diff(range(x)) | 9177 |
| diff(range(x)) | 9397 |
| truerange(x) | 4609 |
| truerange(x) | 4358 |
| diff(range(x)) | 9358 |
| truerange(x) | 4558 |
| truerange(x) | 4288 |
| truerange(x) | 4298 |
| truerange(x) | 4228 |
| diff(range(x)) | 9418 |
| truerange(x) | 4519 |
| diff(range(x)) | 8977 |
| truerange(x) | 4548 |
| diff(range(x)) | 9137 |
| truerange(x) | 4488 |
| truerange(x) | 4298 |
| truerange(x) | 4268 |
| diff(range(x)) | 9648 |
| diff(range(x)) | 9107 |
| truerange(x) | 4578 |
| diff(range(x)) | 9388 |
| diff(range(x)) | 9768 |
| truerange(x) | 4498 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 9448 |
| truerange(x) | 4508 |
| truerange(x) | 4308 |
| truerange(x) | 4278 |
| diff(range(x)) | 10179 |
| diff(range(x)) | 8997 |
| truerange(x) | 4739 |
| truerange(x) | 4278 |
| diff(range(x)) | 8987 |
| truerange(x) | 4559 |
| diff(range(x)) | 9648 |
| diff(range(x)) | 9568 |
| truerange(x) | 4579 |
| truerange(x) | 4288 |
| truerange(x) | 4298 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 9708 |
| diff(range(x)) | 9708 |
| truerange(x) | 4980 |
| diff(range(x)) | 9297 |
| truerange(x) | 4609 |
| diff(range(x)) | 9387 |
| truerange(x) | 4469 |
| diff(range(x)) | 9157 |
| truerange(x) | 4528 |
| diff(range(x)) | 8866 |
| truerange(x) | 4599 |
| truerange(x) | 4448 |
| truerange(x) | 4258 |
| diff(range(x)) | 9508 |
| diff(range(x)) | 9007 |
| truerange(x) | 4448 |
| diff(range(x)) | 9297 |
| truerange(x) | 4489 |
| diff(range(x)) | 9317 |
| truerange(x) | 4439 |
| diff(range(x)) | 9128 |
| diff(range(x)) | 9127 |
| truerange(x) | 4488 |
| truerange(x) | 4318 |
| truerange(x) | 4288 |
| diff(range(x)) | 9507 |
| truerange(x) | 4479 |
| truerange(x) | 4348 |
| truerange(x) | 4268 |
| truerange(x) | 4248 |
| diff(range(x)) | 8847 |
| truerange(x) | 4458 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 8877 |
| truerange(x) | 4479 |
| truerange(x) | 4288 |
| truerange(x) | 4248 |
| diff(range(x)) | 9407 |
| truerange(x) | 4469 |
| diff(range(x)) | 8756 |
| diff(range(x)) | 9237 |
| diff(range(x)) | 8786 |
| diff(range(x)) | 8837 |
| diff(range(x)) | 9388 |
| truerange(x) | 4649 |
| truerange(x) | 4298 |
| truerange(x) | 4258 |
| truerange(x) | 4258 |
| truerange(x) | 4228 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 8837 |
| diff(range(x)) | 9708 |
| truerange(x) | 4539 |
| truerange(x) | 4268 |
| diff(range(x)) | 9407 |
| truerange(x) | 4539 |
| truerange(x) | 4258 |
| truerange(x) | 4278 |
| diff(range(x)) | 9388 |
| truerange(x) | 4468 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9187 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 9298 |
| diff(range(x)) | 8836 |
| diff(range(x)) | 9247 |
| diff(range(x)) | 9417 |
| diff(range(x)) | 8737 |
| truerange(x) | 4678 |
| diff(range(x)) | 9428 |
| diff(range(x)) | 9298 |
| diff(range(x)) | 9628 |
| truerange(x) | 4518 |
| diff(range(x)) | 9087 |
| truerange(x) | 4549 |
| truerange(x) | 4338 |
| truerange(x) | 4308 |
| diff(range(x)) | 9628 |
| truerange(x) | 4479 |
| truerange(x) | 4468 |
| truerange(x) | 4399 |
| truerange(x) | 4308 |
| diff(range(x)) | 9127 |
| truerange(x) | 4498 |
| truerange(x) | 4278 |
| diff(range(x)) | 9468 |
| diff(range(x)) | 9398 |
| truerange(x) | 4488 |
| truerange(x) | 4278 |
| truerange(x) | 4339 |
| truerange(x) | 4268 |
| truerange(x) | 4288 |
| truerange(x) | 4298 |
| diff(range(x)) | 8866 |
| truerange(x) | 18574 |
| truerange(x) | 4839 |
| truerange(x) | 4489 |
| diff(range(x)) | 10680 |
| diff(range(x)) | 9908 |
| truerange(x) | 5030 |
| diff(range(x)) | 9348 |
| truerange(x) | 4588 |
| truerange(x) | 4298 |
| truerange(x) | 4288 |
| diff(range(x)) | 9157 |
| truerange(x) | 4518 |
| truerange(x) | 4368 |
| diff(range(x)) | 9558 |
| truerange(x) | 4529 |
| truerange(x) | 4328 |
| truerange(x) | 4248 |
| diff(range(x)) | 9288 |
| truerange(x) | 4458 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9378 |
| diff(range(x)) | 8877 |
| truerange(x) | 4518 |
| truerange(x) | 4298 |
| diff(range(x)) | 9137 |
| truerange(x) | 4479 |
| diff(range(x)) | 9528 |
| diff(range(x)) | 9337 |
| diff(range(x)) | 9057 |
| truerange(x) | 4489 |
| diff(range(x)) | 9488 |
| diff(range(x)) | 9287 |
| truerange(x) | 4538 |
| diff(range(x)) | 9357 |
| truerange(x) | 4479 |
| diff(range(x)) | 9227 |
| diff(range(x)) | 9718 |
| diff(range(x)) | 9047 |
| truerange(x) | 4589 |
| diff(range(x)) | 9287 |
| diff(range(x)) | 8997 |
| diff(range(x)) | 8977 |
| diff(range(x)) | 8947 |
| diff(range(x)) | 9287 |
| diff(range(x)) | 8807 |
| diff(range(x)) | 9227 |
| diff(range(x)) | 9237 |
| truerange(x) | 4739 |
| truerange(x) | 4338 |
| diff(range(x)) | 8876 |
| truerange(x) | 4439 |
| diff(range(x)) | 8956 |
| diff(range(x)) | 9157 |
| truerange(x) | 4558 |
| diff(range(x)) | 8686 |
| diff(range(x)) | 9487 |
| diff(range(x)) | 9277 |
| truerange(x) | 4729 |
| truerange(x) | 4348 |
| truerange(x) | 4268 |
| truerange(x) | 4318 |
| truerange(x) | 4259 |
| truerange(x) | 4309 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 8826 |
| diff(range(x)) | 9126 |
| diff(range(x)) | 8606 |
| truerange(x) | 4638 |
| truerange(x) | 4317 |
| truerange(x) | 4348 |
| diff(range(x)) | 9798 |
| diff(range(x)) | 9127 |
| diff(range(x)) | 9398 |
| diff(range(x)) | 8796 |
| truerange(x) | 4519 |
| diff(range(x)) | 9238 |
| truerange(x) | 4488 |
| diff(range(x)) | 9357 |
| diff(range(x)) | 9006 |
| diff(range(x)) | 9137 |
| diff(range(x)) | 8946 |
| diff(range(x)) | 9017 |
| diff(range(x)) | 9147 |
| truerange(x) | 4589 |
| truerange(x) | 4308 |
| truerange(x) | 4629 |
| diff(range(x)) | 9478 |
| diff(range(x)) | 9177 |
| truerange(x) | 4538 |
| truerange(x) | 4279 |
| truerange(x) | 4268 |
| diff(range(x)) | 9297 |
| diff(range(x)) | 9338 |
| diff(range(x)) | 9157 |
| diff(range(x)) | 9768 |
| truerange(x) | 4669 |
| truerange(x) | 4288 |
| truerange(x) | 4308 |
| diff(range(x)) | 9808 |
| truerange(x) | 4589 |
| diff(range(x)) | 9057 |
| truerange(x) | 4489 |
| truerange(x) | 4298 |
| diff(range(x)) | 9227 |
| truerange(x) | 4459 |
| truerange(x) | 4268 |
| diff(range(x)) | 9448 |
| truerange(x) | 4638 |
| diff(range(x)) | 8817 |
| truerange(x) | 4508 |
| diff(range(x)) | 8856 |
| truerange(x) | 4458 |
| truerange(x) | 4277 |
| diff(range(x)) | 9076 |
| truerange(x) | 4498 |
| diff(range(x)) | 9307 |
| diff(range(x)) | 8786 |
| diff(range(x)) | 9147 |
| diff(range(x)) | 8817 |
| diff(range(x)) | 8896 |
| diff(range(x)) | 8887 |
| truerange(x) | 4639 |
| truerange(x) | 4328 |
| diff(range(x)) | 9338 |
| diff(range(x)) | 8856 |
| diff(range(x)) | 9809 |
| truerange(x) | 4749 |
| diff(range(x)) | 9517 |
| truerange(x) | 4709 |
| truerange(x) | 4569 |
| diff(range(x)) | 8877 |
| diff(range(x)) | 9287 |
| diff(range(x)) | 9248 |
| diff(range(x)) | 8807 |
| diff(range(x)) | 8857 |
| truerange(x) | 4568 |
| truerange(x) | 4298 |
| truerange(x) | 4259 |
| truerange(x) | 16390 |
| truerange(x) | 4579 |
| truerange(x) | 4288 |
| diff(range(x)) | 11441 |
| diff(range(x)) | 9678 |
| diff(range(x)) | 8976 |
| diff(range(x)) | 9177 |
| truerange(x) | 4588 |
| truerange(x) | 4348 |
| diff(range(x)) | 9377 |
| diff(range(x)) | 9408 |
| truerange(x) | 4779 |
| truerange(x) | 4278 |
| truerange(x) | 4258 |
| truerange(x) | 4258 |
| truerange(x) | 4248 |
| diff(range(x)) | 9568 |
| truerange(x) | 4499 |
| diff(range(x)) | 9347 |
| diff(range(x)) | 9147 |
| diff(range(x)) | 9358 |
| truerange(x) | 4559 |
| truerange(x) | 4418 |
| diff(range(x)) | 9608 |
| truerange(x) | 4479 |
| truerange(x) | 4248 |
| diff(range(x)) | 9338 |
| truerange(x) | 4519 |
| truerange(x) | 4328 |
| diff(range(x)) | 8966 |
| diff(range(x)) | 9377 |
| truerange(x) | 4539 |
| diff(range(x)) | 9297 |
| truerange(x) | 4469 |
| truerange(x) | 4358 |
| diff(range(x)) | 9328 |
| truerange(x) | 4518 |
| diff(range(x)) | 8917 |
| diff(range(x)) | 9287 |
| truerange(x) | 4579 |
| truerange(x) | 4348 |
| diff(range(x)) | 9418 |
| truerange(x) | 4548 |
| truerange(x) | 4349 |
| diff(range(x)) | 8987 |
| diff(range(x)) | 9057 |
| diff(range(x)) | 9558 |
| diff(range(x)) | 8997 |
| truerange(x) | 4639 |
| truerange(x) | 4318 |
| truerange(x) | 4278 |
| truerange(x) | 4257 |
| truerange(x) | 4268 |
| diff(range(x)) | 9198 |
| diff(range(x)) | 8856 |
| diff(range(x)) | 9649 |
| truerange(x) | 4598 |
| truerange(x) | 4279 |
| diff(range(x)) | 9178 |
| truerange(x) | 4518 |
| truerange(x) | 4268 |
| diff(range(x)) | 9077 |
| truerange(x) | 4549 |
| diff(range(x)) | 9167 |
| diff(range(x)) | 9628 |
| truerange(x) | 4489 |
| diff(range(x)) | 10119 |
| truerange(x) | 4498 |
| truerange(x) | 4278 |
| truerange(x) | 4258 |
| truerange(x) | 4348 |
| truerange(x) | 4288 |
| diff(range(x)) | 8947 |
| diff(range(x)) | 9217 |
| truerange(x) | 4478 |
| truerange(x) | 4469 |
| truerange(x) | 4558 |
| diff(range(x)) | 9418 |
| truerange(x) | 4538 |
| diff(range(x)) | 9427 |
| truerange(x) | 4459 |
| truerange(x) | 4288 |
| truerange(x) | 4458 |
| diff(range(x)) | 9328 |
| truerange(x) | 4488 |
| diff(range(x)) | 8817 |
| truerange(x) | 4589 |
| diff(range(x)) | 9057 |
| diff(range(x)) | 8807 |
| truerange(x) | 4488 |
| diff(range(x)) | 9087 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9087 |
| truerange(x) | 4498 |
| truerange(x) | 4289 |
| diff(range(x)) | 8886 |
| truerange(x) | 4709 |
| diff(range(x)) | 9097 |
| truerange(x) | 4459 |
| truerange(x) | 4359 |
| diff(range(x)) | 9097 |
| diff(range(x)) | 9307 |
| truerange(x) | 4479 |
| truerange(x) | 4288 |
| truerange(x) | 4268 |
| truerange(x) | 4268 |
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)")