This function generates multivariate missing data under a MCAR, MAR or MNAR
missing data mechanism. Imputation of data sets containing missing values can
be performed with mice
.
Usage
ampute(
data,
prop = 0.5,
patterns = NULL,
freq = NULL,
mech = "MAR",
weights = NULL,
std = TRUE,
cont = TRUE,
type = NULL,
odds = NULL,
bycases = TRUE,
run = TRUE
)
Arguments
- data
A complete data matrix or data frame. Values should be numeric. Categorical variables should have been transformed to dummies.
- prop
A scalar specifying the proportion of missingness. Should be a value between 0 and 1. Default is a missingness proportion of 0.5.
- patterns
A matrix or data frame of size #patterns by #variables where
0
indicates that a variable should have missing values and1
indicates that a variable should remain complete. The user may specify as many patterns as desired. One pattern (a vector) is possible as well. Default is a square matrix of size #variables where each pattern has missingness on one variable only (created withampute.default.patterns
). After the amputation procedure,md.pattern
can be used to investigate the missing data patterns in the data.- freq
A vector of length #patterns containing the relative frequency with which the patterns should occur. For example, for three missing data patterns, the vector could be
c(0.4, 0.4, 0.2)
, meaning that of all cases with missing values, 40 percent should have pattern 1, 40 percent pattern 2 and 20 percent pattern 3. The vector should sum to 1. Default is an equal probability for each pattern, created withampute.default.freq
.- mech
A string specifying the missingness mechanism, either "MCAR" (Missing Completely At Random), "MAR" (Missing At Random) or "MNAR" (Missing Not At Random). Default is a MAR missingness mechanism.
- weights
A matrix or data frame of size #patterns by #variables. The matrix contains the weights that will be used to calculate the weighted sum scores. For a MAR mechanism, the weights of the variables that will be made incomplete should be zero. For a MNAR mechanism, these weights could have any possible value. Furthermore, the weights may differ between patterns and between variables. They may be negative as well. Within each pattern, the relative size of the values are of importance. The default weights matrix is made with
ampute.default.weights
and returns a matrix with equal weights for all variables. In case of MAR, variables that will be amputed will be weighted with0
. For MNAR, variables that will be observed will be weighted with0
. If the mechanism is MCAR, the weights matrix will not be used.- std
Logical. Whether the weighted sum scores should be calculated with standardized data or with non-standardized data. The latter is especially advised when making use of train and test sets in order to prevent leakage.
- cont
Logical. Whether the probabilities should be based on a continuous or a discrete distribution. If TRUE, the probabilities of being missing are based on a continuous logistic distribution function.
ampute.continuous
will be used to calculate and assign the probabilities. These probabilities will then be based on the argumenttype
. If FALSE, the probabilities of being missing are based on a discrete distribution (ampute.discrete
) based on theodds
argument. Default is TRUE.- type
A string or vector of strings containing the type of missingness for each pattern. Either
"LEFT"
,"MID"
,"TAIL"
or '"RIGHT"
. If a single missingness type is given, all patterns will be created with the same type. If the missingness types should differ between patterns, a vector of missingness types should be given. Default is RIGHT for all patterns and is the result ofampute.default.type
.- odds
A matrix where #patterns defines the #rows. Each row should contain the odds of being missing for the corresponding pattern. The number of odds values defines in how many quantiles the sum scores will be divided. The odds values are relative probabilities: a quantile with odds value 4 will have a probability of being missing that is four times higher than a quantile with odds 1. The number of quantiles may differ between the patterns, specify NA for cells remaining empty. Default is 4 quantiles with odds values 1, 2, 3 and 4 and is created by
ampute.default.odds
.- bycases
Logical. If TRUE, the proportion of missingness is defined in terms of cases. If FALSE, the proportion of missingness is defined in terms of cells. Default is TRUE.
- run
Logical. If TRUE, the amputations are implemented. If FALSE, the return object will contain everything except for the amputed data set.
Value
Returns an S3 object of class mads-class
(multivariate
amputed data set)
Details
This function generates missing values in complete data sets. Amputation of complete
data sets is useful for the evaluation of imputation techniques, such as multiple
imputation (performed with function mice
in this package).
The basic strategy underlying multivariate imputation was suggested by Don Rubin during discussions in the 90's. Brand (1997) created one particular implementation, and his method found its way into the FCS paper (Van Buuren et al, 2006).
Until recently, univariate amputation procedures were used to generate missing data in complete, simulated data sets. With this approach, variables are made incomplete one variable at a time. When more than one variable needs to be amputed, the procedure is repeated multiple times.
With the univariate approach, it is difficult to relate the missingness on one
variable to the missingness on another variable. A multivariate amputation procedure
solves this issue and moreover, it does justice to the multivariate nature of
data sets. Hence, ampute
is developed to perform multivariate amputation.
The idea behind the function is the specification of several missingness
patterns. Each pattern is a combination of variables with and without missing
values (denoted by 0
and 1
respectively). For example, one might
want to create two missingness patterns on a data set with four variables. The
patterns could be something like: 0,0,1,1
and 1,0,1,0
.
Each combination of zeros and ones may occur.
Furthermore, the researcher specifies the proportion of missingness, either the proportion of missing cases or the proportion of missing cells, and the relative frequency each pattern occurs. Consequently, the data is split into multiple subsets, one subset per pattern. Now, each case is candidate for a certain missingness pattern, but whether the case will have missing values eventually depends on other specifications.
The first of these specifications is the missing mechanism. There are three possible mechanisms: the missingness depends completely on chance (MCAR), the missingness depends on the values of the observed variables (i.e. the variables that remain complete) (MAR) or on the values of the variables that will be made incomplete (MNAR). For a discussion on how missingness mechanisms are related to the observed data, we refer to Schouten and Vink, 2018.
When the user specifies the missingness mechanism to be "MCAR"
, the candidates
have an equal probability of becoming incomplete. For a "MAR"
or "MNAR"
mechanism,
weighted sum scores are calculated. These scores are a linear combination of the
variables.
In order to calculate the weighted sum scores, the data is standardized. For this reason,
the data has to be numeric. Second, for each case, the values in
the data set are multiplied with the weights, specified by argument weights
.
These weighted scores will be summed, resulting in a weighted sum score for each case.
The weights may differ between patterns and they may be negative or zero as well. Naturally, in case of a MAR mechanism, the weights corresponding to the variables that will be made incomplete, have a 0. Note that this may be different for each pattern. In case of MNAR missingness, especially the weights of the variables that will be made incomplete are of importance. However, the other variables may be weighted as well.
It is the relative difference between the weights that will result in an effect in the sum scores. For example, for the first missing data pattern mentioned above, the weights for the third and fourth variables could be set to 2 and 4. However, weight values of 0.2 and 0.4 will have the exact same effect on the weighted sum score: the fourth variable is weighted twice as much as variable 3.
Based on the weighted sum scores, either a discrete or continuous distribution of probabilities is used to calculate whether a candidate will have missing values.
For a discrete distribution of probabilities, the weighted sum scores are divided into subgroups of equal size (quantiles). Thereafter, the user specifies for each subgroup the odds of being missing. Both the number of subgroups and the odds values are important for the generation of missing data. For example, for a RIGHT-like mechanism, scoring in one of the higher quantiles should have high missingness odds, whereas for a MID-like mechanism, the central groups should have higher odds. Again, not the size of the odds values are of importance, but the relative distance between the values.
The continuous distributions of probabilities are based on the logistic distribution function. The user can specify the type of missingness, which, again, may differ between patterns.
For an example and more explanation about how the arguments interact with each other, we refer to the vignette Generate missing values with ampute The amputation methodology is published in Schouten, Lugtig and Vink, 2018.
References
Brand, J.P.L. (1999) Development, implementation and evaluation of multiple imputation strategies for the statistical analysis of incomplete data sets. pp. 110-113. Dissertation. Rotterdam: Erasmus University.
Schouten, R.M., Lugtig, P and Vink, G. (2018) Generating missing values for simulation purposes: A multivariate amputation procedure.. Journal of Statistical Computation and Simulation, 88(15): 1909-1930.
Schouten, R.M. and Vink, G. (2018) The Dance of the Mechanisms: How Observed Information Influences the Validity of Missingness Assumptions. Sociological Methods and Research, 50(3): 1243-1258.
Van Buuren, S., Brand, J.P.L., Groothuis-Oudshoorn, C.G.M., Rubin, D.B. (2006) Fully conditional specification in multivariate imputation. Journal of Statistical Computation and Simulation, 76(12): 1049-1064.
Van Buuren, S. (2018) Flexible Imputation of Missing Data. Second Edition. Chapman & Hall/CRC. Boca Raton, FL.
Vink, G. (2016) Towards a standardized evaluation of multiple imputation routines.
Examples
# start with a complete data set
compl_boys <- cc(boys)[1:3]
# Perform amputation with default settings
mads_boys <- ampute(data = compl_boys)
mads_boys$amp
#> age hgt wgt
#> 3279 8.859 124.8 31.0
#> 3283 NA 145.0 38.2
#> 3296 8.908 137.8 30.0
#> 3321 8.999 136.3 26.9
#> 3323 9.004 151.2 48.2
#> 3327 9.021 141.4 29.4
#> 3357 9.119 140.0 28.0
#> 3388 9.201 125.8 22.0
#> 3398 9.234 139.8 35.6
#> 3409 9.270 140.4 32.0
#> 3416 9.303 142.2 31.6
#> 3422 9.316 147.4 NA
#> 3429 9.368 NA 25.9
#> 3442 9.407 134.4 27.0
#> 3449 9.426 146.0 36.5
#> 3455 9.451 136.0 27.5
#> 3460 9.459 142.7 30.8
#> 3481 9.511 144.5 NA
#> 3484 9.514 140.3 27.8
#> 3486 9.514 138.0 31.0
#> 3494 9.524 140.9 32.7
#> 3525 9.582 134.0 27.5
#> 3533 9.604 139.7 32.6
#> 3547 9.631 139.7 28.7
#> 3609 NA 142.0 30.3
#> 3651 9.990 NA 37.3
#> 3664 10.020 137.2 31.7
#> 3710 10.132 134.0 26.5
#> 3721 10.154 139.3 30.6
#> 3724 10.160 141.3 39.5
#> 3727 10.171 135.2 31.9
#> 3805 10.398 149.8 34.7
#> 3814 10.422 158.8 39.8
#> 3827 10.447 148.7 41.0
#> 3834 10.477 142.6 32.5
#> 3841 10.499 148.6 38.6
#> 3865 10.554 146.3 40.4
#> 3873 10.568 NA 36.6
#> 3880 10.581 141.2 33.8
#> 3929 10.724 NA 29.5
#> 3975 NA 147.0 33.8
#> 3988 10.945 149.0 45.6
#> 3991 NA 145.1 36.2
#> 3994 10.967 137.4 29.6
#> 3995 10.970 151.2 39.2
#> 4006 11.003 NA 29.1
#> 4009 11.011 148.8 44.2
#> 4059 11.126 139.6 32.7
#> 4066 11.143 135.1 25.0
#> 4067 11.143 148.3 NA
#> 4070 11.156 163.0 44.5
#> 4072 11.159 144.5 49.7
#> 4102 11.222 151.8 44.4
#> 4122 11.288 159.4 43.4
#> 4173 11.446 147.9 42.2
#> 4174 11.446 152.8 43.1
#> 4186 11.482 148.7 37.2
#> 4211 11.545 153.2 42.5
#> 4238 11.605 155.2 36.7
#> 4240 11.611 151.0 33.8
#> 4253 11.655 160.6 44.4
#> 4255 11.665 144.5 30.8
#> 4266 11.690 148.0 35.2
#> 4293 11.759 153.2 42.8
#> 4301 11.789 135.4 NA
#> 4302 11.791 152.8 43.5
#> 4312 11.811 145.9 34.8
#> 4318 11.827 151.0 NA
#> 4332 NA 152.0 32.5
#> 4349 11.926 156.5 44.5
#> 4399 12.071 151.1 34.5
#> 4465 12.265 NA 43.3
#> 4481 12.292 145.8 39.2
#> 4487 NA 161.4 44.0
#> 4505 12.375 NA 61.0
#> 4532 12.457 161.4 52.6
#> 4552 12.501 170.5 NA
#> 4561 12.520 162.1 44.1
#> 4579 12.574 163.8 NA
#> 4585 12.583 163.3 52.6
#> 4591 12.599 155.0 39.0
#> 4646 12.741 172.0 79.5
#> 4682 NA 170.2 56.0
#> 4721 12.933 169.5 54.8
#> 4727 12.944 157.0 41.2
#> 4745 12.991 148.7 31.1
#> 4748 NA 155.9 42.3
#> 4752 12.996 158.9 49.1
#> 4809 NA 164.0 61.7
#> 4823 NA 175.0 65.1
#> 4824 13.127 180.0 57.8
#> 4825 13.130 156.4 40.8
#> 4847 NA 168.1 53.4
#> 4848 13.190 155.4 42.1
#> 4887 NA 161.2 37.0
#> 4892 NA 165.5 41.9
#> 4961 13.489 161.3 41.4
#> 4994 13.552 NA 46.2
#> 5039 13.631 179.0 54.9
#> 5044 13.642 153.4 40.6
#> 5048 13.656 NA 74.8
#> 5064 13.686 168.7 NA
#> 5085 13.749 155.5 36.5
#> 5113 13.839 162.1 44.9
#> 5126 13.883 176.2 NA
#> 5130 13.891 NA 54.2
#> 5133 13.897 181.7 61.9
#> 5147 13.924 144.8 35.1
#> 5159 13.938 156.9 50.0
#> 5206 14.045 NA 54.7
#> 5219 14.069 NA 59.2
#> 5228 14.083 172.1 NA
#> 5247 14.121 159.2 42.7
#> 5288 14.209 170.9 54.8
#> 5293 14.220 165.5 48.0
#> 5327 NA 153.2 44.3
#> 5335 NA 171.0 56.0
#> 5343 14.332 NA 49.1
#> 5367 14.412 NA 54.2
#> 5410 14.527 160.7 52.0
#> 5415 14.540 NA 76.0
#> 5416 14.543 173.7 69.5
#> 5417 14.543 176.4 NA
#> 5420 14.546 167.3 61.0
#> 5478 14.669 182.9 57.2
#> 5496 NA 169.1 50.7
#> 5509 14.762 168.6 47.6
#> 5520 14.811 173.8 61.7
#> 5522 14.811 NA 66.5
#> 5539 14.844 172.7 NA
#> 5551 14.863 169.1 66.3
#> 5567 14.926 177.4 58.3
#> 5585 14.967 NA 88.0
#> 5598 14.997 NA 65.1
#> 5602 15.003 188.0 NA
#> 5610 15.025 185.5 NA
#> 5612 15.028 178.5 54.1
#> 5642 15.099 NA 74.5
#> 5654 NA 176.9 58.6
#> 5675 15.162 NA 54.8
#> 5710 NA 188.0 89.0
#> 5714 15.266 NA 62.5
#> 5763 NA 173.3 54.1
#> 5764 15.416 187.2 80.6
#> 5789 15.474 192.2 80.2
#> 5806 15.504 NA 52.3
#> 5823 15.542 NA 50.0
#> 5830 NA 183.3 61.5
#> 5856 15.622 184.1 NA
#> 5857 15.630 174.3 NA
#> 5858 15.633 NA 67.0
#> 5879 15.663 172.7 58.6
#> 5880 NA 176.0 63.8
#> 5883 15.674 176.6 56.9
#> 5947 15.838 177.0 63.5
#> 5964 NA 168.6 56.0
#> 5971 NA 176.2 57.5
#> 5975 15.912 NA 65.2
#> 5986 15.926 NA 62.2
#> 6005 15.989 187.8 64.8
#> 6029 16.049 NA 70.6
#> 6033 16.062 183.9 NA
#> 6036 16.065 184.4 NA
#> 6037 NA 186.5 70.7
#> 6064 16.156 194.3 113.0
#> 6083 16.235 185.4 NA
#> 6085 16.246 NA 76.0
#> 6092 NA 177.9 57.0
#> 6117 16.355 171.0 NA
#> 6132 16.402 173.6 NA
#> 6138 16.427 195.5 NA
#> 6141 16.435 175.1 64.5
#> 6166 NA 188.0 62.5
#> 6185 16.544 178.0 65.7
#> 6251 16.717 180.2 66.4
#> 6253 NA 192.8 88.3
#> 6262 16.741 NA 70.3
#> 6283 16.807 184.3 77.0
#> 6343 NA 182.4 63.7
#> 6361 16.999 179.0 NA
#> 6372 17.018 183.0 65.5
#> 6416 17.117 183.2 NA
#> 6482 17.333 180.3 76.8
#> 6483 17.336 183.9 66.3
#> 6528 NA 171.4 71.7
#> 6539 NA 173.6 55.5
#> 6567 17.560 NA 71.2
#> 6611 17.678 176.4 72.8
#> 6641 17.749 NA 94.9
#> 6647 17.757 196.2 NA
#> 6686 17.911 181.2 86.8
#> 6700 17.957 172.2 64.5
#> 6756 18.121 171.6 58.4
#> 6782 18.209 177.9 63.4
#> 6789 18.220 187.4 NA
#> 6831 18.349 NA 69.2
#> 6858 18.453 170.5 NA
#> 6892 NA 193.0 71.7
#> 6923 18.617 188.0 NA
#> 6963 NA 191.0 81.3
#> 6964 18.743 NA 99.0
#> 6977 18.773 NA 69.6
#> 6981 18.792 NA 56.0
#> 7001 18.850 NA 62.6
#> 7032 18.959 185.1 NA
#> 7066 19.060 180.8 NA
#> 7068 NA 175.0 72.4
#> 7073 19.077 NA 70.0
#> 7101 19.148 186.5 71.9
#> 7141 19.310 177.1 NA
#> 7152 19.367 178.0 NA
#> 7161 NA 192.7 100.1
#> 7173 19.471 NA 87.1
#> 7200 19.575 195.0 NA
#> 7221 19.633 NA 75.0
#> 7240 19.707 172.5 70.6
#> 7247 19.739 177.0 NA
#> 7293 19.926 NA 117.4
#> 7297 NA 181.8 76.2
#> 7319 20.010 170.0 68.8
#> 7328 20.030 NA 71.0
#> 7362 20.117 188.7 NA
#> 7396 20.281 NA 81.1
# Change default matrices as desired
my_patterns <- mads_boys$patterns
my_patterns[1:3, 2] <- 0
my_weights <- mads_boys$weights
my_weights[2, 1] <- 2
my_weights[3, 1] <- 0.5
# Rerun amputation
my_mads_boys <- ampute(
data = compl_boys, patterns = my_patterns, freq =
c(0.3, 0.3, 0.4), weights = my_weights, type = c("RIGHT", "TAIL", "LEFT")
)
my_mads_boys$amp
#> age hgt wgt
#> 3279 8.859 124.8 31.0
#> 3283 8.867 NA NA
#> 3296 8.908 137.8 30.0
#> 3321 8.999 136.3 26.9
#> 3323 9.004 NA NA
#> 3327 9.021 NA 29.4
#> 3357 9.119 NA NA
#> 3388 9.201 NA NA
#> 3398 9.234 NA NA
#> 3409 9.270 140.4 32.0
#> 3416 9.303 NA 31.6
#> 3422 9.316 147.4 31.4
#> 3429 9.368 NA 25.9
#> 3442 9.407 NA 27.0
#> 3449 9.426 NA 36.5
#> 3455 9.451 136.0 27.5
#> 3460 9.459 142.7 30.8
#> 3481 NA NA 30.3
#> 3484 9.514 140.3 27.8
#> 3486 9.514 138.0 31.0
#> 3494 9.524 NA 32.7
#> 3525 9.582 134.0 27.5
#> 3533 9.604 NA NA
#> 3547 9.631 NA NA
#> 3609 9.834 NA NA
#> 3651 9.990 149.0 37.3
#> 3664 NA NA 31.7
#> 3710 10.132 134.0 26.5
#> 3721 10.154 139.3 30.6
#> 3724 10.160 NA 39.5
#> 3727 10.171 NA NA
#> 3805 10.398 NA NA
#> 3814 NA NA 39.8
#> 3827 10.447 148.7 41.0
#> 3834 10.477 NA 32.5
#> 3841 10.499 NA NA
#> 3865 10.554 146.3 40.4
#> 3873 10.568 NA NA
#> 3880 10.581 NA NA
#> 3929 10.724 144.1 29.5
#> 3975 NA NA 33.8
#> 3988 10.945 149.0 45.6
#> 3991 10.954 NA 36.2
#> 3994 10.967 137.4 29.6
#> 3995 10.970 NA NA
#> 4006 11.003 134.3 29.1
#> 4009 11.011 NA 44.2
#> 4059 11.126 NA NA
#> 4066 11.143 NA NA
#> 4067 11.143 NA NA
#> 4070 11.156 NA NA
#> 4072 11.159 NA NA
#> 4102 NA NA 44.4
#> 4122 NA NA 43.4
#> 4173 NA NA 42.2
#> 4174 11.446 152.8 43.1
#> 4186 11.482 NA NA
#> 4211 11.545 NA 42.5
#> 4238 11.605 155.2 36.7
#> 4240 11.611 NA 33.8
#> 4253 11.655 160.6 44.4
#> 4255 11.665 144.5 30.8
#> 4266 11.690 148.0 35.2
#> 4293 11.759 153.2 42.8
#> 4301 11.789 135.4 29.7
#> 4302 11.791 NA 43.5
#> 4312 11.811 145.9 34.8
#> 4318 11.827 NA NA
#> 4332 11.874 152.0 32.5
#> 4349 11.926 156.5 44.5
#> 4399 12.071 NA NA
#> 4465 12.265 156.6 43.3
#> 4481 12.292 NA 39.2
#> 4487 NA NA 44.0
#> 4505 12.375 NA NA
#> 4532 12.457 161.4 52.6
#> 4552 NA NA 53.4
#> 4561 12.520 NA NA
#> 4579 12.574 163.8 51.6
#> 4585 12.583 163.3 52.6
#> 4591 NA NA 39.0
#> 4646 12.741 NA 79.5
#> 4682 12.821 170.2 56.0
#> 4721 12.933 169.5 54.8
#> 4727 12.944 NA NA
#> 4745 12.991 NA 31.1
#> 4748 12.993 155.9 42.3
#> 4752 NA NA 49.1
#> 4809 NA NA 61.7
#> 4823 13.127 NA NA
#> 4824 13.127 180.0 57.8
#> 4825 NA NA 40.8
#> 4847 13.188 168.1 53.4
#> 4848 13.190 155.4 42.1
#> 4887 13.275 NA NA
#> 4892 13.300 165.5 41.9
#> 4961 13.489 161.3 41.4
#> 4994 NA NA 46.2
#> 5039 13.631 179.0 54.9
#> 5044 13.642 153.4 40.6
#> 5048 13.656 NA 74.8
#> 5064 13.686 168.7 46.1
#> 5085 13.749 155.5 36.5
#> 5113 13.839 NA 44.9
#> 5126 13.883 NA NA
#> 5130 13.891 NA NA
#> 5133 13.897 181.7 61.9
#> 5147 13.924 144.8 35.1
#> 5159 13.938 156.9 50.0
#> 5206 14.045 170.0 54.7
#> 5219 NA NA 59.2
#> 5228 14.083 172.1 50.9
#> 5247 NA NA 42.7
#> 5288 14.209 170.9 54.8
#> 5293 14.220 165.5 48.0
#> 5327 NA NA 44.3
#> 5335 14.308 171.0 56.0
#> 5343 14.332 164.1 49.1
#> 5367 14.412 165.5 54.2
#> 5410 14.527 NA NA
#> 5415 14.540 182.4 76.0
#> 5416 14.543 173.7 69.5
#> 5417 14.543 NA NA
#> 5420 14.546 167.3 61.0
#> 5478 NA NA 57.2
#> 5496 14.721 169.1 50.7
#> 5509 14.762 168.6 47.6
#> 5520 NA NA 61.7
#> 5522 14.811 179.0 66.5
#> 5539 14.844 172.7 64.3
#> 5551 NA NA 66.3
#> 5567 14.926 177.4 58.3
#> 5585 NA NA 88.0
#> 5598 NA NA 65.1
#> 5602 15.003 188.0 91.6
#> 5610 15.025 NA NA
#> 5612 NA NA 54.1
#> 5642 15.099 178.1 74.5
#> 5654 NA NA 58.6
#> 5675 15.162 176.8 54.8
#> 5710 15.249 188.0 89.0
#> 5714 15.266 175.2 62.5
#> 5763 NA NA 54.1
#> 5764 15.416 187.2 80.6
#> 5789 15.474 192.2 80.2
#> 5806 15.504 172.0 52.3
#> 5823 NA NA 50.0
#> 5830 NA NA 61.5
#> 5856 15.622 184.1 70.5
#> 5857 15.630 174.3 52.6
#> 5858 15.633 186.0 67.0
#> 5879 15.663 172.7 58.6
#> 5880 15.668 176.0 63.8
#> 5883 15.674 NA NA
#> 5947 15.838 177.0 63.5
#> 5964 15.893 168.6 56.0
#> 5971 15.906 176.2 57.5
#> 5975 NA NA 65.2
#> 5986 15.926 167.8 62.2
#> 6005 15.989 187.8 64.8
#> 6029 16.049 NA 70.6
#> 6033 16.062 183.9 61.5
#> 6036 16.065 NA 68.5
#> 6037 NA NA 70.7
#> 6064 16.156 194.3 113.0
#> 6083 16.235 185.4 60.0
#> 6085 16.246 183.5 76.0
#> 6092 16.273 177.9 57.0
#> 6117 16.355 NA 59.1
#> 6132 NA NA 54.5
#> 6138 16.427 195.5 69.0
#> 6141 16.435 175.1 64.5
#> 6166 16.492 188.0 62.5
#> 6185 16.544 178.0 65.7
#> 6251 16.717 NA NA
#> 6253 NA NA 88.3
#> 6262 NA NA 70.3
#> 6283 16.807 184.3 77.0
#> 6343 16.966 182.4 63.7
#> 6361 16.999 179.0 68.1
#> 6372 17.018 NA 65.5
#> 6416 17.117 183.2 69.3
#> 6482 NA NA 76.8
#> 6483 17.336 183.9 66.3
#> 6528 17.440 171.4 71.7
#> 6539 17.467 173.6 55.5
#> 6567 17.560 186.5 71.2
#> 6611 17.678 176.4 72.8
#> 6641 17.749 NA NA
#> 6647 17.757 196.2 81.0
#> 6686 17.911 NA NA
#> 6700 NA NA 64.5
#> 6756 18.121 NA 58.4
#> 6782 NA NA 63.4
#> 6789 18.220 187.4 79.0
#> 6831 18.349 193.6 69.2
#> 6858 18.453 170.5 53.5
#> 6892 18.551 193.0 71.7
#> 6923 NA NA 61.9
#> 6963 18.737 NA NA
#> 6964 18.743 192.0 99.0
#> 6977 18.773 189.4 69.6
#> 6981 18.792 174.8 56.0
#> 7001 18.850 NA NA
#> 7032 18.959 185.1 76.2
#> 7066 19.060 NA NA
#> 7068 NA NA 72.4
#> 7073 19.077 NA NA
#> 7101 19.148 186.5 71.9
#> 7141 19.310 NA NA
#> 7152 NA NA 78.1
#> 7161 NA NA 100.1
#> 7173 19.471 191.0 87.1
#> 7200 19.575 195.0 88.9
#> 7221 19.633 182.1 75.0
#> 7240 19.707 NA 70.6
#> 7247 NA NA 65.5
#> 7293 19.926 NA NA
#> 7297 19.934 NA 76.2
#> 7319 20.010 170.0 68.8
#> 7328 NA NA 71.0
#> 7362 NA NA 89.4
#> 7396 20.281 185.1 81.1