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.542 9.0285 9.495322 9.224 9.5145 38.437 500
#> truerange(x) 1.432 1.5220 1.684602 1.693 1.7430 12.108 500| expr | time |
|---|---|
| diff(range(x)) | 38437 |
| diff(range(x)) | 13139 |
| diff(range(x)) | 9715 |
| truerange(x) | 12108 |
| truerange(x) | 1943 |
| diff(range(x)) | 11086 |
| diff(range(x)) | 10586 |
| diff(range(x)) | 9544 |
| truerange(x) | 2073 |
| diff(range(x)) | 8973 |
| diff(range(x)) | 9204 |
| diff(range(x)) | 9354 |
| truerange(x) | 1772 |
| truerange(x) | 1492 |
| diff(range(x)) | 9324 |
| truerange(x) | 1722 |
| diff(range(x)) | 9304 |
| truerange(x) | 1743 |
| truerange(x) | 1632 |
| truerange(x) | 1483 |
| truerange(x) | 1482 |
| diff(range(x)) | 9364 |
| diff(range(x)) | 8873 |
| diff(range(x)) | 8984 |
| truerange(x) | 1702 |
| diff(range(x)) | 9104 |
| truerange(x) | 1763 |
| diff(range(x)) | 8973 |
| truerange(x) | 1663 |
| truerange(x) | 1812 |
| diff(range(x)) | 9515 |
| diff(range(x)) | 9654 |
| truerange(x) | 1683 |
| diff(range(x)) | 9033 |
| truerange(x) | 1853 |
| diff(range(x)) | 9204 |
| diff(range(x)) | 9544 |
| diff(range(x)) | 9294 |
| truerange(x) | 1752 |
| truerange(x) | 1802 |
| diff(range(x)) | 9364 |
| truerange(x) | 1703 |
| diff(range(x)) | 9955 |
| truerange(x) | 1712 |
| truerange(x) | 1483 |
| truerange(x) | 1612 |
| truerange(x) | 1583 |
| diff(range(x)) | 9073 |
| diff(range(x)) | 8683 |
| diff(range(x)) | 9424 |
| diff(range(x)) | 9374 |
| truerange(x) | 1823 |
| truerange(x) | 1562 |
| truerange(x) | 1463 |
| truerange(x) | 1472 |
| diff(range(x)) | 8893 |
| truerange(x) | 1743 |
| diff(range(x)) | 8773 |
| diff(range(x)) | 9775 |
| diff(range(x)) | 9043 |
| truerange(x) | 1863 |
| diff(range(x)) | 9104 |
| truerange(x) | 1692 |
| diff(range(x)) | 9064 |
| truerange(x) | 1712 |
| diff(range(x)) | 9384 |
| diff(range(x)) | 9024 |
| diff(range(x)) | 9504 |
| diff(range(x)) | 9644 |
| diff(range(x)) | 9314 |
| truerange(x) | 1723 |
| truerange(x) | 1743 |
| truerange(x) | 1863 |
| diff(range(x)) | 10185 |
| diff(range(x)) | 9494 |
| truerange(x) | 1773 |
| diff(range(x)) | 8803 |
| truerange(x) | 1752 |
| diff(range(x)) | 9324 |
| diff(range(x)) | 8934 |
| truerange(x) | 1672 |
| diff(range(x)) | 9414 |
| diff(range(x)) | 9144 |
| diff(range(x)) | 9013 |
| truerange(x) | 1752 |
| diff(range(x)) | 9564 |
| truerange(x) | 1693 |
| diff(range(x)) | 9474 |
| diff(range(x)) | 22003 |
| truerange(x) | 1933 |
| truerange(x) | 1582 |
| diff(range(x)) | 9715 |
| diff(range(x)) | 8993 |
| diff(range(x)) | 8964 |
| truerange(x) | 1842 |
| diff(range(x)) | 9133 |
| truerange(x) | 1863 |
| truerange(x) | 1663 |
| diff(range(x)) | 9013 |
| truerange(x) | 1803 |
| truerange(x) | 1672 |
| truerange(x) | 1483 |
| truerange(x) | 1582 |
| truerange(x) | 1462 |
| truerange(x) | 1503 |
| truerange(x) | 1702 |
| diff(range(x)) | 10085 |
| truerange(x) | 1813 |
| diff(range(x)) | 9654 |
| diff(range(x)) | 9534 |
| diff(range(x)) | 9554 |
| truerange(x) | 1793 |
| diff(range(x)) | 9294 |
| diff(range(x)) | 9073 |
| diff(range(x)) | 9014 |
| diff(range(x)) | 8933 |
| truerange(x) | 1733 |
| diff(range(x)) | 9233 |
| truerange(x) | 1743 |
| diff(range(x)) | 9985 |
| truerange(x) | 1733 |
| truerange(x) | 1562 |
| diff(range(x)) | 9214 |
| diff(range(x)) | 9294 |
| diff(range(x)) | 9474 |
| truerange(x) | 1723 |
| truerange(x) | 1492 |
| truerange(x) | 1572 |
| truerange(x) | 1453 |
| diff(range(x)) | 9273 |
| truerange(x) | 1723 |
| diff(range(x)) | 9054 |
| truerange(x) | 1903 |
| truerange(x) | 1502 |
| truerange(x) | 1522 |
| diff(range(x)) | 9144 |
| diff(range(x)) | 9404 |
| diff(range(x)) | 9174 |
| diff(range(x)) | 9103 |
| diff(range(x)) | 8994 |
| diff(range(x)) | 9213 |
| diff(range(x)) | 9114 |
| truerange(x) | 1763 |
| diff(range(x)) | 9494 |
| truerange(x) | 1713 |
| truerange(x) | 1522 |
| diff(range(x)) | 9204 |
| diff(range(x)) | 9354 |
| truerange(x) | 1732 |
| truerange(x) | 1593 |
| diff(range(x)) | 8833 |
| truerange(x) | 1743 |
| diff(range(x)) | 9574 |
| diff(range(x)) | 8823 |
| diff(range(x)) | 9284 |
| truerange(x) | 1893 |
| truerange(x) | 1532 |
| diff(range(x)) | 9274 |
| truerange(x) | 1953 |
| diff(range(x)) | 9064 |
| truerange(x) | 1722 |
| diff(range(x)) | 9164 |
| diff(range(x)) | 9604 |
| truerange(x) | 1713 |
| truerange(x) | 1542 |
| diff(range(x)) | 8573 |
| truerange(x) | 1703 |
| truerange(x) | 1482 |
| truerange(x) | 1693 |
| diff(range(x)) | 8873 |
| truerange(x) | 1692 |
| diff(range(x)) | 9223 |
| truerange(x) | 1763 |
| diff(range(x)) | 10015 |
| truerange(x) | 1733 |
| truerange(x) | 1772 |
| diff(range(x)) | 9114 |
| diff(range(x)) | 9144 |
| diff(range(x)) | 8953 |
| diff(range(x)) | 9274 |
| truerange(x) | 1732 |
| truerange(x) | 1482 |
| diff(range(x)) | 8913 |
| truerange(x) | 1683 |
| truerange(x) | 1602 |
| truerange(x) | 1563 |
| truerange(x) | 1472 |
| truerange(x) | 1462 |
| truerange(x) | 1472 |
| diff(range(x)) | 9555 |
| truerange(x) | 1832 |
| truerange(x) | 1692 |
| truerange(x) | 1462 |
| diff(range(x)) | 8814 |
| truerange(x) | 1682 |
| diff(range(x)) | 9164 |
| diff(range(x)) | 9113 |
| diff(range(x)) | 9455 |
| diff(range(x)) | 8723 |
| diff(range(x)) | 9343 |
| truerange(x) | 1762 |
| diff(range(x)) | 9364 |
| diff(range(x)) | 8893 |
| truerange(x) | 1712 |
| truerange(x) | 1472 |
| diff(range(x)) | 9174 |
| truerange(x) | 1723 |
| diff(range(x)) | 9534 |
| diff(range(x)) | 8883 |
| truerange(x) | 1713 |
| diff(range(x)) | 9915 |
| diff(range(x)) | 9223 |
| diff(range(x)) | 9684 |
| truerange(x) | 1703 |
| truerange(x) | 1602 |
| truerange(x) | 1623 |
| truerange(x) | 1802 |
| truerange(x) | 1483 |
| truerange(x) | 1482 |
| truerange(x) | 1602 |
| diff(range(x)) | 9404 |
| diff(range(x)) | 9465 |
| diff(range(x)) | 9894 |
| truerange(x) | 2104 |
| truerange(x) | 1492 |
| diff(range(x)) | 9073 |
| truerange(x) | 1753 |
| diff(range(x)) | 9404 |
| truerange(x) | 1713 |
| truerange(x) | 1522 |
| diff(range(x)) | 10175 |
| truerange(x) | 1703 |
| truerange(x) | 1482 |
| truerange(x) | 1593 |
| truerange(x) | 1572 |
| truerange(x) | 1773 |
| truerange(x) | 1552 |
| truerange(x) | 1443 |
| diff(range(x)) | 9634 |
| truerange(x) | 1673 |
| diff(range(x)) | 9764 |
| diff(range(x)) | 9134 |
| truerange(x) | 1682 |
| truerange(x) | 1483 |
| truerange(x) | 1482 |
| diff(range(x)) | 9684 |
| diff(range(x)) | 9084 |
| diff(range(x)) | 9094 |
| truerange(x) | 1712 |
| truerange(x) | 1502 |
| truerange(x) | 1822 |
| truerange(x) | 1483 |
| truerange(x) | 1462 |
| diff(range(x)) | 9694 |
| truerange(x) | 1683 |
| diff(range(x)) | 9164 |
| diff(range(x)) | 8833 |
| diff(range(x)) | 9384 |
| truerange(x) | 1702 |
| diff(range(x)) | 8993 |
| diff(range(x)) | 9584 |
| truerange(x) | 1733 |
| truerange(x) | 1903 |
| truerange(x) | 1482 |
| diff(range(x)) | 8563 |
| diff(range(x)) | 10155 |
| truerange(x) | 1733 |
| diff(range(x)) | 9384 |
| truerange(x) | 1712 |
| diff(range(x)) | 9224 |
| diff(range(x)) | 8994 |
| diff(range(x)) | 9694 |
| truerange(x) | 1673 |
| diff(range(x)) | 8803 |
| diff(range(x)) | 23615 |
| diff(range(x)) | 9244 |
| truerange(x) | 1772 |
| truerange(x) | 1473 |
| diff(range(x)) | 9304 |
| diff(range(x)) | 9694 |
| truerange(x) | 1813 |
| diff(range(x)) | 9564 |
| truerange(x) | 1673 |
| truerange(x) | 1602 |
| truerange(x) | 1593 |
| diff(range(x)) | 8903 |
| truerange(x) | 1823 |
| diff(range(x)) | 8803 |
| truerange(x) | 1692 |
| truerange(x) | 1482 |
| truerange(x) | 1552 |
| diff(range(x)) | 9745 |
| truerange(x) | 1692 |
| diff(range(x)) | 9014 |
| truerange(x) | 1702 |
| diff(range(x)) | 9033 |
| diff(range(x)) | 9404 |
| truerange(x) | 1703 |
| truerange(x) | 1622 |
| diff(range(x)) | 9054 |
| truerange(x) | 1732 |
| truerange(x) | 1513 |
| truerange(x) | 1522 |
| diff(range(x)) | 8993 |
| diff(range(x)) | 9104 |
| truerange(x) | 1703 |
| diff(range(x)) | 9624 |
| diff(range(x)) | 8953 |
| diff(range(x)) | 9755 |
| diff(range(x)) | 9043 |
| truerange(x) | 2163 |
| diff(range(x)) | 9234 |
| diff(range(x)) | 8783 |
| truerange(x) | 1722 |
| truerange(x) | 1533 |
| truerange(x) | 1462 |
| diff(range(x)) | 9554 |
| diff(range(x)) | 9294 |
| truerange(x) | 1783 |
| diff(range(x)) | 9113 |
| truerange(x) | 1752 |
| diff(range(x)) | 9334 |
| truerange(x) | 1733 |
| diff(range(x)) | 9264 |
| truerange(x) | 1792 |
| diff(range(x)) | 8703 |
| truerange(x) | 1693 |
| truerange(x) | 1512 |
| diff(range(x)) | 9404 |
| diff(range(x)) | 8673 |
| diff(range(x)) | 9234 |
| diff(range(x)) | 8923 |
| diff(range(x)) | 9153 |
| truerange(x) | 1733 |
| truerange(x) | 1502 |
| truerange(x) | 1623 |
| truerange(x) | 1482 |
| diff(range(x)) | 8653 |
| diff(range(x)) | 9174 |
| diff(range(x)) | 9223 |
| diff(range(x)) | 9194 |
| diff(range(x)) | 9264 |
| truerange(x) | 1763 |
| diff(range(x)) | 9554 |
| truerange(x) | 1763 |
| truerange(x) | 1602 |
| truerange(x) | 1613 |
| truerange(x) | 1452 |
| truerange(x) | 1592 |
| truerange(x) | 1483 |
| truerange(x) | 1462 |
| diff(range(x)) | 9444 |
| diff(range(x)) | 9214 |
| diff(range(x)) | 9003 |
| diff(range(x)) | 9204 |
| truerange(x) | 1723 |
| diff(range(x)) | 9834 |
| truerange(x) | 1833 |
| diff(range(x)) | 9624 |
| diff(range(x)) | 9895 |
| diff(range(x)) | 9735 |
| truerange(x) | 1853 |
| truerange(x) | 1552 |
| truerange(x) | 1432 |
| diff(range(x)) | 9645 |
| diff(range(x)) | 10135 |
| truerange(x) | 1772 |
| truerange(x) | 1443 |
| truerange(x) | 1452 |
| diff(range(x)) | 9314 |
| diff(range(x)) | 10005 |
| truerange(x) | 1752 |
| truerange(x) | 1493 |
| truerange(x) | 1472 |
| truerange(x) | 1432 |
| diff(range(x)) | 9615 |
| truerange(x) | 1792 |
| truerange(x) | 1573 |
| diff(range(x)) | 9514 |
| diff(range(x)) | 9284 |
| truerange(x) | 1703 |
| diff(range(x)) | 9243 |
| truerange(x) | 1723 |
| truerange(x) | 1472 |
| truerange(x) | 1473 |
| truerange(x) | 1442 |
| diff(range(x)) | 10475 |
| truerange(x) | 1723 |
| truerange(x) | 1452 |
| diff(range(x)) | 9324 |
| diff(range(x)) | 9575 |
| truerange(x) | 1702 |
| truerange(x) | 1873 |
| diff(range(x)) | 9114 |
| diff(range(x)) | 9344 |
| diff(range(x)) | 9554 |
| diff(range(x)) | 8933 |
| diff(range(x)) | 8763 |
| truerange(x) | 1733 |
| truerange(x) | 1482 |
| truerange(x) | 1763 |
| diff(range(x)) | 9975 |
| truerange(x) | 2033 |
| truerange(x) | 1612 |
| truerange(x) | 1532 |
| diff(range(x)) | 9324 |
| diff(range(x)) | 9644 |
| truerange(x) | 1723 |
| truerange(x) | 1472 |
| diff(range(x)) | 9074 |
| diff(range(x)) | 8783 |
| diff(range(x)) | 8893 |
| diff(range(x)) | 9584 |
| truerange(x) | 1873 |
| diff(range(x)) | 9434 |
| truerange(x) | 1723 |
| truerange(x) | 1512 |
| truerange(x) | 1463 |
| diff(range(x)) | 9063 |
| truerange(x) | 1693 |
| diff(range(x)) | 9604 |
| diff(range(x)) | 8933 |
| truerange(x) | 1703 |
| diff(range(x)) | 9434 |
| truerange(x) | 1723 |
| diff(range(x)) | 9654 |
| diff(range(x)) | 8793 |
| truerange(x) | 1703 |
| diff(range(x)) | 9514 |
| diff(range(x)) | 9334 |
| diff(range(x)) | 8823 |
| truerange(x) | 1713 |
| diff(range(x)) | 8823 |
| truerange(x) | 1713 |
| diff(range(x)) | 9113 |
| diff(range(x)) | 8944 |
| truerange(x) | 1853 |
| diff(range(x)) | 9163 |
| truerange(x) | 1723 |
| diff(range(x)) | 9624 |
| diff(range(x)) | 9014 |
| diff(range(x)) | 9654 |
| truerange(x) | 1693 |
| diff(range(x)) | 9574 |
| truerange(x) | 1693 |
| diff(range(x)) | 8542 |
| diff(range(x)) | 9174 |
| truerange(x) | 1683 |
| diff(range(x)) | 9254 |
| truerange(x) | 1702 |
| diff(range(x)) | 19840 |
| diff(range(x)) | 9023 |
| diff(range(x)) | 9615 |
| diff(range(x)) | 8793 |
| diff(range(x)) | 8983 |
| diff(range(x)) | 8984 |
| diff(range(x)) | 9374 |
| diff(range(x)) | 9464 |
| diff(range(x)) | 9284 |
| diff(range(x)) | 9183 |
| truerange(x) | 1863 |
| truerange(x) | 1593 |
| truerange(x) | 1582 |
| truerange(x) | 1482 |
| truerange(x) | 1573 |
| diff(range(x)) | 9003 |
| truerange(x) | 1733 |
| diff(range(x)) | 9394 |
| truerange(x) | 1763 |
| truerange(x) | 1532 |
| truerange(x) | 1502 |
| truerange(x) | 1453 |
| truerange(x) | 1442 |
| truerange(x) | 1462 |
| truerange(x) | 1482 |
| truerange(x) | 1493 |
| diff(range(x)) | 8793 |
| diff(range(x)) | 9444 |
| diff(range(x)) | 10636 |
| diff(range(x)) | 8993 |
| diff(range(x)) | 8613 |
| diff(range(x)) | 9204 |
| truerange(x) | 1733 |
| truerange(x) | 1492 |
| diff(range(x)) | 8833 |
| truerange(x) | 1703 |
| truerange(x) | 1492 |
| diff(range(x)) | 9124 |
| truerange(x) | 1923 |
| diff(range(x)) | 9864 |
| diff(range(x)) | 9254 |
| diff(range(x)) | 9224 |
| truerange(x) | 1803 |
| diff(range(x)) | 9454 |
| diff(range(x)) | 9114 |
| diff(range(x)) | 8763 |
| truerange(x) | 1752 |
| truerange(x) | 1523 |
| truerange(x) | 1602 |
| diff(range(x)) | 9474 |
| truerange(x) | 1723 |
| diff(range(x)) | 9394 |
| diff(range(x)) | 8793 |
| diff(range(x)) | 9645 |
| truerange(x) | 1712 |
| diff(range(x)) | 9054 |
| truerange(x) | 1722 |
| diff(range(x)) | 8844 |
| truerange(x) | 1712 |
| truerange(x) | 1833 |
| truerange(x) | 1472 |
| diff(range(x)) | 9014 |
| diff(range(x)) | 9083 |
| diff(range(x)) | 9184 |
| truerange(x) | 2043 |
| diff(range(x)) | 8883 |
| truerange(x) | 1702 |
| truerange(x) | 1492 |
| truerange(x) | 1453 |
| truerange(x) | 1612 |
| truerange(x) | 1502 |
| truerange(x) | 1583 |
| diff(range(x)) | 8763 |
| diff(range(x)) | 9214 |
| truerange(x) | 1772 |
| diff(range(x)) | 9534 |
| diff(range(x)) | 9213 |
| truerange(x) | 1733 |
| truerange(x) | 1502 |
| truerange(x) | 1582 |
| diff(range(x)) | 9184 |
| diff(range(x)) | 10866 |
| truerange(x) | 2053 |
| diff(range(x)) | 9054 |
| diff(range(x)) | 8973 |
| truerange(x) | 1703 |
| truerange(x) | 1522 |
| truerange(x) | 1542 |
| diff(range(x)) | 9374 |
| diff(range(x)) | 9124 |
| truerange(x) | 1803 |
| truerange(x) | 1512 |
| truerange(x) | 1552 |
| diff(range(x)) | 8723 |
| truerange(x) | 1712 |
| diff(range(x)) | 10025 |
| diff(range(x)) | 8973 |
| truerange(x) | 1692 |
| diff(range(x)) | 9084 |
| diff(range(x)) | 9073 |
| truerange(x) | 1693 |
| diff(range(x)) | 9073 |
| diff(range(x)) | 9785 |
| diff(range(x)) | 9524 |
| truerange(x) | 1713 |
| diff(range(x)) | 9143 |
| diff(range(x)) | 9163 |
| diff(range(x)) | 9294 |
| truerange(x) | 1723 |
| truerange(x) | 1562 |
| diff(range(x)) | 9374 |
| truerange(x) | 2023 |
| diff(range(x)) | 9044 |
| diff(range(x)) | 8963 |
| diff(range(x)) | 8743 |
| truerange(x) | 1903 |
| truerange(x) | 1883 |
| truerange(x) | 1673 |
| diff(range(x)) | 9344 |
| diff(range(x)) | 10545 |
| truerange(x) | 1813 |
| truerange(x) | 1542 |
| diff(range(x)) | 9343 |
| truerange(x) | 1753 |
| diff(range(x)) | 9164 |
| diff(range(x)) | 9324 |
| truerange(x) | 1702 |
| diff(range(x)) | 8954 |
| diff(range(x)) | 9244 |
| truerange(x) | 1842 |
| diff(range(x)) | 9475 |
| truerange(x) | 1732 |
| truerange(x) | 1523 |
| truerange(x) | 1572 |
| truerange(x) | 1482 |
| truerange(x) | 1443 |
| diff(range(x)) | 9073 |
| diff(range(x)) | 8943 |
| truerange(x) | 1872 |
| diff(range(x)) | 9204 |
| diff(range(x)) | 8933 |
| diff(range(x)) | 9133 |
| diff(range(x)) | 9344 |
| truerange(x) | 1843 |
| truerange(x) | 1692 |
| diff(range(x)) | 9103 |
| truerange(x) | 1723 |
| truerange(x) | 1472 |
| diff(range(x)) | 9214 |
| truerange(x) | 1702 |
| diff(range(x)) | 9144 |
| diff(range(x)) | 9264 |
| diff(range(x)) | 8623 |
| truerange(x) | 1863 |
| diff(range(x)) | 9093 |
| diff(range(x)) | 9474 |
| truerange(x) | 1753 |
| diff(range(x)) | 8663 |
| diff(range(x)) | 9504 |
| truerange(x) | 1703 |
| truerange(x) | 1622 |
| truerange(x) | 1503 |
| diff(range(x)) | 9374 |
| truerange(x) | 1702 |
| truerange(x) | 1613 |
| diff(range(x)) | 9454 |
| diff(range(x)) | 9094 |
| diff(range(x)) | 8913 |
| diff(range(x)) | 9804 |
| truerange(x) | 1742 |
| truerange(x) | 1472 |
| diff(range(x)) | 9074 |
| diff(range(x)) | 8873 |
| diff(range(x)) | 19399 |
| truerange(x) | 1743 |
| truerange(x) | 1522 |
| diff(range(x)) | 9554 |
| truerange(x) | 1743 |
| truerange(x) | 1623 |
| truerange(x) | 1812 |
| truerange(x) | 1453 |
| diff(range(x)) | 9173 |
| truerange(x) | 1723 |
| diff(range(x)) | 9304 |
| truerange(x) | 1692 |
| diff(range(x)) | 9393 |
| truerange(x) | 1712 |
| truerange(x) | 1553 |
| truerange(x) | 1562 |
| diff(range(x)) | 9184 |
| diff(range(x)) | 9143 |
| truerange(x) | 1713 |
| diff(range(x)) | 9224 |
| diff(range(x)) | 9043 |
| truerange(x) | 1763 |
| diff(range(x)) | 9144 |
| diff(range(x)) | 9183 |
| truerange(x) | 1953 |
| truerange(x) | 1593 |
| truerange(x) | 1702 |
| diff(range(x)) | 8884 |
| diff(range(x)) | 8903 |
| truerange(x) | 1693 |
| truerange(x) | 1482 |
| diff(range(x)) | 9294 |
| truerange(x) | 1712 |
| diff(range(x)) | 9314 |
| diff(range(x)) | 9164 |
| truerange(x) | 1703 |
| truerange(x) | 1632 |
| truerange(x) | 1593 |
| diff(range(x)) | 9243 |
| diff(range(x)) | 9755 |
| diff(range(x)) | 8963 |
| truerange(x) | 1743 |
| diff(range(x)) | 8863 |
| truerange(x) | 1703 |
| diff(range(x)) | 9204 |
| truerange(x) | 1732 |
| diff(range(x)) | 8884 |
| truerange(x) | 1822 |
| diff(range(x)) | 8824 |
| truerange(x) | 1692 |
| truerange(x) | 1543 |
| truerange(x) | 1492 |
| diff(range(x)) | 9164 |
| diff(range(x)) | 9253 |
| truerange(x) | 1963 |
| diff(range(x)) | 9695 |
| truerange(x) | 1692 |
| diff(range(x)) | 9674 |
| truerange(x) | 1703 |
| diff(range(x)) | 8723 |
| diff(range(x)) | 9063 |
| truerange(x) | 1833 |
| truerange(x) | 1632 |
| truerange(x) | 1593 |
| diff(range(x)) | 9424 |
| truerange(x) | 1693 |
| truerange(x) | 1622 |
| truerange(x) | 1663 |
| truerange(x) | 1492 |
| diff(range(x)) | 9314 |
| truerange(x) | 1983 |
| diff(range(x)) | 9033 |
| diff(range(x)) | 8863 |
| truerange(x) | 1703 |
| truerange(x) | 1512 |
| truerange(x) | 1562 |
| diff(range(x)) | 9084 |
| truerange(x) | 1713 |
| diff(range(x)) | 8903 |
| diff(range(x)) | 8923 |
| diff(range(x)) | 10035 |
| diff(range(x)) | 9695 |
| diff(range(x)) | 9163 |
| truerange(x) | 1723 |
| truerange(x) | 1502 |
| truerange(x) | 1513 |
| truerange(x) | 1462 |
| truerange(x) | 1703 |
| diff(range(x)) | 9253 |
| diff(range(x)) | 9204 |
| diff(range(x)) | 9174 |
| truerange(x) | 1753 |
| truerange(x) | 1732 |
| diff(range(x)) | 9064 |
| truerange(x) | 1702 |
| truerange(x) | 1463 |
| truerange(x) | 1452 |
| diff(range(x)) | 9524 |
| truerange(x) | 1713 |
| diff(range(x)) | 9654 |
| diff(range(x)) | 9615 |
| diff(range(x)) | 9163 |
| diff(range(x)) | 9094 |
| diff(range(x)) | 9564 |
| diff(range(x)) | 9845 |
| diff(range(x)) | 9113 |
| diff(range(x)) | 9383 |
| truerange(x) | 1722 |
| diff(range(x)) | 9645 |
| diff(range(x)) | 9384 |
| diff(range(x)) | 9464 |
| truerange(x) | 2003 |
| diff(range(x)) | 9344 |
| truerange(x) | 2083 |
| truerange(x) | 1983 |
| truerange(x) | 1583 |
| diff(range(x)) | 9154 |
| truerange(x) | 2023 |
| truerange(x) | 1562 |
| truerange(x) | 1592 |
| truerange(x) | 1442 |
| diff(range(x)) | 8753 |
| truerange(x) | 1692 |
| truerange(x) | 1813 |
| diff(range(x)) | 9304 |
| diff(range(x)) | 9054 |
| truerange(x) | 1722 |
| truerange(x) | 1452 |
| truerange(x) | 1432 |
| truerange(x) | 1452 |
| truerange(x) | 1512 |
| truerange(x) | 1463 |
| diff(range(x)) | 8933 |
| truerange(x) | 1763 |
| truerange(x) | 1612 |
| truerange(x) | 1542 |
| diff(range(x)) | 9103 |
| diff(range(x)) | 8933 |
| truerange(x) | 1933 |
| diff(range(x)) | 9214 |
| truerange(x) | 1683 |
| truerange(x) | 1612 |
| truerange(x) | 1583 |
| diff(range(x)) | 9604 |
| truerange(x) | 1723 |
| truerange(x) | 1462 |
| diff(range(x)) | 9454 |
| truerange(x) | 1693 |
| truerange(x) | 1562 |
| truerange(x) | 1512 |
| diff(range(x)) | 9103 |
| truerange(x) | 1893 |
| diff(range(x)) | 9424 |
| diff(range(x)) | 9825 |
| diff(range(x)) | 9073 |
| truerange(x) | 1743 |
| truerange(x) | 1653 |
| diff(range(x)) | 9444 |
| truerange(x) | 1722 |
| diff(range(x)) | 9655 |
| diff(range(x)) | 9814 |
| diff(range(x)) | 10817 |
| truerange(x) | 1712 |
| diff(range(x)) | 9524 |
| diff(range(x)) | 9174 |
| truerange(x) | 1733 |
| diff(range(x)) | 9093 |
| truerange(x) | 1693 |
| diff(range(x)) | 8973 |
| diff(range(x)) | 9024 |
| diff(range(x)) | 10115 |
| truerange(x) | 2313 |
| diff(range(x)) | 8783 |
| diff(range(x)) | 8983 |
| diff(range(x)) | 9224 |
| diff(range(x)) | 8783 |
| diff(range(x)) | 9334 |
| diff(range(x)) | 10646 |
| diff(range(x)) | 9113 |
| diff(range(x)) | 9174 |
| truerange(x) | 2424 |
| truerange(x) | 1502 |
| diff(range(x)) | 19499 |
| truerange(x) | 2083 |
| diff(range(x)) | 9835 |
| diff(range(x)) | 9214 |
| truerange(x) | 1712 |
| diff(range(x)) | 9004 |
| diff(range(x)) | 9444 |
| diff(range(x)) | 8943 |
| truerange(x) | 1763 |
| truerange(x) | 1492 |
| truerange(x) | 1483 |
| truerange(x) | 1472 |
| truerange(x) | 1442 |
| truerange(x) | 1522 |
| diff(range(x)) | 9475 |
| diff(range(x)) | 9894 |
| diff(range(x)) | 10035 |
| diff(range(x)) | 9434 |
| truerange(x) | 1843 |
| truerange(x) | 1513 |
| truerange(x) | 1452 |
| diff(range(x)) | 10876 |
| diff(range(x)) | 10325 |
| diff(range(x)) | 9414 |
| diff(range(x)) | 9013 |
| truerange(x) | 1743 |
| diff(range(x)) | 8843 |
| truerange(x) | 1702 |
| diff(range(x)) | 9414 |
| diff(range(x)) | 9083 |
| diff(range(x)) | 9654 |
| diff(range(x)) | 9505 |
| diff(range(x)) | 9143 |
| diff(range(x)) | 9204 |
| truerange(x) | 1773 |
| truerange(x) | 1462 |
| truerange(x) | 1582 |
| diff(range(x)) | 10175 |
| diff(range(x)) | 9063 |
| truerange(x) | 1973 |
| truerange(x) | 1493 |
| truerange(x) | 1462 |
| diff(range(x)) | 8853 |
| diff(range(x)) | 9765 |
| diff(range(x)) | 9243 |
| diff(range(x)) | 9154 |
| truerange(x) | 1733 |
| truerange(x) | 1552 |
| truerange(x) | 1623 |
| diff(range(x)) | 8963 |
| truerange(x) | 1713 |
| diff(range(x)) | 9514 |
| truerange(x) | 1723 |
| truerange(x) | 1492 |
| diff(range(x)) | 8823 |
| truerange(x) | 1953 |
| truerange(x) | 1482 |
| diff(range(x)) | 9214 |
| truerange(x) | 1693 |
| diff(range(x)) | 10165 |
| truerange(x) | 1692 |
| diff(range(x)) | 9373 |
| truerange(x) | 1762 |
| truerange(x) | 1472 |
| diff(range(x)) | 8783 |
| truerange(x) | 1712 |
| diff(range(x)) | 9334 |
| diff(range(x)) | 9414 |
| diff(range(x)) | 9334 |
| diff(range(x)) | 8934 |
| diff(range(x)) | 9394 |
| diff(range(x)) | 8793 |
| truerange(x) | 1722 |
| truerange(x) | 1503 |
| diff(range(x)) | 8833 |
| diff(range(x)) | 9514 |
| diff(range(x)) | 8863 |
| truerange(x) | 1983 |
| diff(range(x)) | 8974 |
| truerange(x) | 1772 |
| truerange(x) | 1502 |
| diff(range(x)) | 9264 |
| diff(range(x)) | 8903 |
| diff(range(x)) | 9755 |
| diff(range(x)) | 8943 |
| diff(range(x)) | 9204 |
| truerange(x) | 1763 |
| truerange(x) | 1622 |
| truerange(x) | 1683 |
| truerange(x) | 1502 |
| truerange(x) | 1432 |
| truerange(x) | 1573 |
| diff(range(x)) | 8993 |
| diff(range(x)) | 9134 |
| diff(range(x)) | 9784 |
| diff(range(x)) | 9495 |
| truerange(x) | 1772 |
| truerange(x) | 1463 |
| diff(range(x)) | 9303 |
| diff(range(x)) | 8884 |
| truerange(x) | 1762 |
| truerange(x) | 1503 |
| truerange(x) | 2143 |
| truerange(x) | 1572 |
| truerange(x) | 1452 |
| diff(range(x)) | 8753 |
| truerange(x) | 1742 |
| diff(range(x)) | 9384 |
| diff(range(x)) | 9474 |
| diff(range(x)) | 9003 |
| truerange(x) | 1753 |
| truerange(x) | 1472 |
| diff(range(x)) | 9644 |
| truerange(x) | 1942 |
| truerange(x) | 1582 |
| diff(range(x)) | 9494 |
| truerange(x) | 1783 |
| truerange(x) | 1492 |
| diff(range(x)) | 9835 |
| diff(range(x)) | 8953 |
| truerange(x) | 1773 |
| diff(range(x)) | 9074 |
| truerange(x) | 1732 |
| truerange(x) | 1513 |
| diff(range(x)) | 10625 |
| truerange(x) | 1693 |
| diff(range(x)) | 9624 |
| diff(range(x)) | 10626 |
| truerange(x) | 1713 |
| truerange(x) | 1612 |
| diff(range(x)) | 9324 |
| truerange(x) | 1743 |
| truerange(x) | 1502 |
| diff(range(x)) | 8884 |
| diff(range(x)) | 9043 |
| diff(range(x)) | 9594 |
| diff(range(x)) | 9805 |
| truerange(x) | 1733 |
| truerange(x) | 1512 |
| truerange(x) | 1803 |
| truerange(x) | 1552 |
| truerange(x) | 1542 |
| diff(range(x)) | 9674 |
| diff(range(x)) | 9254 |
| diff(range(x)) | 9143 |
| truerange(x) | 2034 |
| truerange(x) | 1572 |
| diff(range(x)) | 9704 |
| truerange(x) | 1692 |
| truerange(x) | 1532 |
| diff(range(x)) | 9635 |
| truerange(x) | 1712 |
| diff(range(x)) | 8854 |
| diff(range(x)) | 9654 |
| truerange(x) | 1713 |
| diff(range(x)) | 9334 |
| truerange(x) | 1702 |
| truerange(x) | 1603 |
| truerange(x) | 1462 |
| truerange(x) | 1442 |
| truerange(x) | 1463 |
| diff(range(x)) | 9244 |
| diff(range(x)) | 9664 |
| truerange(x) | 2173 |
| truerange(x) | 1783 |
| truerange(x) | 1532 |
| diff(range(x)) | 8844 |
| truerange(x) | 2013 |
| diff(range(x)) | 9213 |
| truerange(x) | 1732 |
| truerange(x) | 1523 |
| truerange(x) | 1462 |
| diff(range(x)) | 9895 |
| truerange(x) | 1692 |
| diff(range(x)) | 9454 |
| truerange(x) | 1703 |
| diff(range(x)) | 8873 |
| diff(range(x)) | 9094 |
| truerange(x) | 1673 |
| diff(range(x)) | 9123 |
| diff(range(x)) | 19429 |
| diff(range(x)) | 9905 |
| truerange(x) | 1743 |
| truerange(x) | 1822 |
| diff(range(x)) | 9725 |
| truerange(x) | 1722 |
| diff(range(x)) | 9023 |
| truerange(x) | 1833 |
| truerange(x) | 1492 |
| diff(range(x)) | 8984 |
| diff(range(x)) | 9113 |
| truerange(x) | 1683 |
| truerange(x) | 1502 |
| truerange(x) | 1643 |
| truerange(x) | 1552 |
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)")