CRAN Package Check Results for Package FastImputation

Last updated on 2020-02-19 10:48:52 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 2.0 2.70 36.93 39.63 ERROR
r-devel-linux-x86_64-debian-gcc 2.0 1.99 29.88 31.87 ERROR
r-devel-linux-x86_64-fedora-clang 2.0 48.43 ERROR
r-devel-linux-x86_64-fedora-gcc 2.0 47.70 ERROR
r-devel-windows-ix86+x86_64 2.0 5.00 47.00 52.00 OK
r-devel-windows-ix86+x86_64-gcc8 2.0 7.00 71.00 78.00 OK
r-patched-linux-x86_64 2.0 2.05 33.64 35.69 OK
r-patched-solaris-x86 2.0 63.00 OK
r-release-linux-x86_64 2.0 2.04 33.54 35.58 OK
r-release-windows-ix86+x86_64 2.0 4.00 44.00 48.00 OK
r-release-osx-x86_64 2.0 OK
r-oldrel-windows-ix86+x86_64 2.0 3.00 40.00 43.00 OK
r-oldrel-osx-x86_64 2.0 OK

Check Details

Version: 2.0
Check: examples
Result: ERROR
    Running examples in 'FastImputation-Ex.R' failed
    The error most likely occurred in:
    
    > base::assign(".ptime", proc.time(), pos = "CheckExEnv")
    > ### Name: FastImputation
    > ### Title: Use the pattern learned from the training data to impute (fill
    > ### in good guesses for) missing values.
    > ### Aliases: FastImputation
    >
    > ### ** Examples
    >
    > data(FI_train) # provides FItrain dataset
    > patterns <- TrainFastImputation(
    + FI_train,
    + constraints=list(list("bounded_below_2", list(lower=0)),
    + list("bounded_above_5", list(upper=0)),
    + list("bounded_above_and_below_6", list(lower=0, upper=1))
    + ),
    + idvars="user_id_1",
    + categorical="categorical_9")
    Warning in FUN(X[[i]], ...) :
     More than one constraint specified for variable 1
    >
    > data(FI_test)
    > FI_test # note there is missing data
     user_id_1 bounded_below_2 unbounded_3 unbounded_4 bounded_above_5
    10001 user10001 6.598863e+00 -0.32695539 -1.0408252077 -5.435780e-01
    10002 user10002 1.832499e-02 -1.85569959 -0.6626172532 -1.837007e+01
    10003 user10003 6.701044e-01 2.59744678 1.8078093302 -4.445718e-01
    10004 user10004 3.496679e-01 NA -0.9144677342 -1.649258e+00
    10005 user10005 4.050968e+00 0.70258045 -0.4974376086 -5.631747e+00
    10006 user10006 1.775034e-01 -2.23879469 0.3686458866 -1.263723e-01
    10007 user10007 1.409737e+00 -1.70517586 -1.2708599422 -2.137070e-01
    10008 user10008 1.697108e+00 -2.10687247 -1.5727666618 -9.484890e-01
    10009 user10009 6.097142e-01 2.63023887 1.6198541590 -1.189719e+00
    10010 user10010 5.538755e-01 -5.44881157 -1.2236015199 -1.436618e-01
    10011 user10011 4.537569e-01 -2.21531670 0.0732546137 -1.276806e+00
    10012 user10012 1.646216e+01 5.08106096 -0.3680009660 -6.454465e-01
    10013 user10013 3.602504e-01 2.35827479 0.8633373736 -6.563387e-01
    10014 user10014 6.579557e+00 1.65927051 0.1702854877 -1.495291e+00
    10015 user10015 1.630978e-01 2.43310591 -1.1987407018 -2.525325e+02
    10016 user10016 6.514561e+00 NA -0.3696209493 -4.594812e-01
    10017 user10017 7.473795e-02 -3.66707756 -1.2432811200 -6.611514e+00
    10018 user10018 4.834159e-01 -1.54169123 0.2899829901 -3.704330e-01
    10019 user10019 2.451746e-01 -0.13776787 -0.8623472363 -9.828478e-01
    10020 user10020 6.214931e-01 -1.25862184 -1.6106674176 -5.569624e-01
    10021 user10021 1.117646e+01 -1.77070736 0.0787166207 -1.032776e+00
    10022 user10022 1.605917e-01 -1.60492426 0.1234377865 -1.268749e+00
    10023 user10023 NA 0.98211508 0.0838916821 -1.616274e-01
    10024 user10024 2.055030e+00 0.82827589 0.5282382675 -4.065962e-02
    10025 user10025 8.432536e-01 -0.71966808 -2.8675107847 -8.464935e+00
    10026 user10026 6.095399e-02 -1.99652099 0.0098253319 -2.152424e+00
    10027 user10027 1.826332e+00 1.21084468 -2.0840642994 -1.727501e+00
    10028 user10028 6.836263e-02 0.72257108 -0.6172466716 -2.727368e+01
    10029 user10029 1.031809e+01 1.74046447 1.5429548629 -4.241155e-02
    10030 user10030 1.467334e+00 4.63094541 2.0075598921 -7.764112e-02
    10031 user10031 1.842931e+00 -2.52492867 1.2103082016 -5.025671e-01
    10032 user10032 7.628405e+00 3.53759262 2.8884529735 -6.319618e-01
    10033 user10033 2.003674e-01 1.58558255 0.0920318847 -2.058795e+00
    10034 user10034 8.587826e-01 -4.50260830 -0.1734702569 -8.725933e-02
    10035 user10035 2.705498e+01 0.68036202 1.3912772607 -6.690156e-01
    10036 user10036 5.444630e-03 NA 1.1842490584 -9.817641e-02
    10037 user10037 2.607685e+00 4.32756687 2.3089480472 -3.855545e+00
    10038 user10038 1.767735e+02 4.27772230 0.0115132389 -2.104327e-02
    10039 user10039 2.723607e-02 -0.14410034 1.1582706746 -4.331893e+01
    10040 user10040 1.695513e-01 -1.29590677 1.1461316511 -3.781391e+00
    10041 user10041 2.328462e+00 2.17838638 -1.1560101574 -8.462963e+00
    10042 user10042 1.431259e+00 -4.34687538 0.4214012070 -6.124771e-02
    10043 user10043 2.322132e+00 3.17155026 0.6183285072 -2.476478e+00
    10044 user10044 6.501784e+00 3.09365584 -1.3378450617 -4.907960e+00
    10045 user10045 8.325880e-01 0.48229072 -0.6280652177 -3.512296e+00
    10046 user10046 9.235184e-01 1.50634471 1.9265482084 -7.947189e-02
    10047 user10047 1.897828e+00 0.02815443 1.3125331524 -1.090115e-01
    10048 user10048 1.015260e+00 2.27512614 0.5422732900 -1.170126e+01
    10049 user10049 2.905334e+01 4.24571273 0.3344507759 -2.179834e+00
    10050 user10050 4.567780e-01 -4.70452906 -1.6160430470 -9.763291e+00
    10051 user10051 2.882131e+01 -2.28748541 -0.9520525345 -2.158771e-01
    10052 user10052 1.035390e-01 0.01298172 0.1361038039 -7.150137e+00
    10053 user10053 7.542509e-01 0.99140173 NA -7.122756e-02
    10054 user10054 1.505760e+00 -2.20706290 0.2986444415 -5.091365e-01
    10055 user10055 3.107198e+01 6.62856125 -0.5619476052 -1.059897e+00
    10056 user10056 1.311748e+00 1.13025897 -1.1584168238 -7.655205e+00
    10057 user10057 1.218344e+00 -0.08590795 -1.6295775820 -4.545405e-01
    10058 user10058 5.700993e-01 -2.11562540 -3.5393842651 -7.633153e+00
    10059 user10059 1.289849e+00 -1.01281522 1.1607361336 -4.285372e-01
    10060 user10060 3.835924e+01 4.99847468 1.7635632742 -4.824088e-03
    10061 user10061 9.732679e-03 -3.54417627 NA -1.241930e+01
    10062 user10062 1.817853e+01 -5.37912280 1.1507180320 -8.003573e-03
    10063 user10063 9.911951e-02 -0.70633383 -0.9775464824 NA
    10064 user10064 1.035869e+01 -1.70399566 -2.0325937340 -3.024913e-01
    10065 user10065 3.970153e-01 0.08627526 -0.9185422426 -6.082198e-01
    10066 user10066 1.599758e+01 3.94588055 0.8717432847 -3.738224e+00
    10067 user10067 3.661286e+00 NA -2.2289683767 -8.572169e+00
    10068 user10068 7.281472e-01 -3.14360773 NA -3.256341e-02
    10069 user10069 2.025863e+00 2.89982091 1.1824083322 NA
    10070 user10070 2.815413e-01 -2.73728299 0.8809632920 -2.252295e-01
    10071 user10071 5.785422e+00 -2.90281331 0.4457125576 -3.368942e-02
    10072 user10072 9.340654e-02 -3.45867354 -1.4238335575 -3.407088e+01
    10073 user10073 8.960880e-01 0.31529373 2.2757216907 -3.651484e-02
    10074 user10074 3.257240e-01 4.14741267 -1.3643546356 -8.289164e+00
    10075 user10075 1.566778e+02 -0.97191014 -0.4449931641 -3.054064e-02
    10076 user10076 8.565692e+00 0.29819640 NA -6.096698e-02
    10077 user10077 1.795727e-01 0.86941401 0.0119261808 -2.333257e+01
    10078 user10078 2.711571e-01 0.50425557 -0.0185625174 -1.782452e+01
    10079 user10079 4.586261e+00 -0.69591228 0.0465337733 -1.189007e+01
    10080 user10080 9.911726e-03 0.82415256 1.8902036545 -2.955665e+00
    10081 user10081 1.853743e+02 -2.50050036 0.3400916200 -1.186461e+01
    10082 user10082 5.120019e+01 -0.41461546 0.3380032461 -1.417067e-02
    10083 user10083 3.128755e-02 2.60673843 -0.4016618484 -3.936934e+00
    10084 user10084 3.530812e-02 NA -0.2802918247 -4.010063e+00
    10085 user10085 3.360030e-01 -5.11243408 -2.7869212328 -2.690308e+00
    10086 user10086 8.737015e+01 1.53836555 NA -2.918148e-01
    10087 user10087 1.030803e+01 -0.68956899 -0.6080514292 -1.801237e-01
    10088 user10088 NA -3.09856926 -1.1278848278 -7.658242e+00
    10089 user10089 8.777786e+00 -1.07635376 -0.2769167672 -8.414759e-01
    10090 user10090 2.210107e+00 -2.59249026 -0.6908116078 -2.172571e-01
    10091 user10091 1.427948e+01 3.95562522 -0.0719637194 -1.683513e+01
    10092 user10092 3.362292e-01 1.04782538 -0.8401937144 -8.323539e-01
    10093 user10093 4.912289e-01 -0.60462945 0.9667734769 -1.211423e-01
    10094 user10094 1.558868e+00 2.03307388 2.0076580294 -1.469431e-01
    10095 user10095 NA -0.64383707 NA -1.256480e+02
    10096 user10096 NA 1.25851548 3.8589949880 -3.907421e-02
    10097 user10097 1.926535e+00 -4.71519012 -0.5293087569 -1.132815e+00
    10098 user10098 6.554253e+00 0.59104603 -0.9676603718 NA
    10099 user10099 1.582014e+00 0.26061129 -1.3312892906 -1.776128e+00
    10100 user10100 1.700371e+00 2.94584896 1.7076725112 -1.053127e-01
    10101 user10101 2.857815e-02 -1.42150766 -1.6417368347 -5.217430e+01
    10102 user10102 2.344647e-01 0.49860069 2.1303586947 -1.310452e+00
    10103 user10103 1.674696e+00 2.16607836 0.1265799678 NA
    10104 user10104 7.227479e-01 1.14966375 -0.5165805266 -4.812268e+00
    10105 user10105 4.541007e+01 -1.62264790 1.5811455276 -2.145271e-02
    10106 user10106 9.390279e-02 4.60683421 -0.4723057401 -3.222514e+01
    10107 user10107 5.334344e-01 -3.59559209 0.6165795381 -1.532438e-01
    10108 user10108 NA 0.73776922 0.9731906090 -1.550302e+00
    10109 user10109 2.989686e-01 3.12025918 0.7319748634 -1.324075e+01
    10110 user10110 2.174117e-02 -2.33309869 -1.3794709939 -4.868314e+00
    10111 user10111 1.696692e-01 1.73262777 -0.7628431280 -1.725473e+00
    10112 user10112 2.241847e+00 1.80376285 0.1793971582 -7.749609e+00
    10113 user10113 8.834441e-02 -4.50406085 -2.4399833619 -6.635795e+00
    10114 user10114 2.645018e+00 1.56918694 -0.0898595583 -2.885335e+00
    10115 user10115 2.043561e+00 4.93519111 1.2925465825 -7.849044e-02
    10116 user10116 1.931923e+00 0.16431069 1.0341908787 -4.221237e-02
    10117 user10117 5.769045e+00 NA -0.9548944729 -5.066865e-01
    10118 user10118 NA -5.94816135 0.1486687258 -1.285302e-01
    10119 user10119 2.123341e+00 NA -0.0004171489 -2.150998e+00
    10120 user10120 2.386375e+00 -1.44526401 -0.9465162406 -2.998660e-01
    10121 user10121 3.071114e-01 -2.02115387 -2.2479407129 -2.361466e+01
    10122 user10122 1.188388e+00 -0.59502665 2.3804945471 -9.437218e-03
    10123 user10123 1.549932e-01 3.23134327 2.3979648986 -3.355107e+01
    10124 user10124 1.534334e-02 -6.09868648 -1.5126189040 -1.563606e+02
    10125 user10125 1.344220e+00 -2.61346308 NA -4.232341e-01
    10126 user10126 1.893169e+01 5.20972112 0.0631564322 -2.511623e+01
    10127 user10127 8.251101e-02 -0.18148691 -0.3267704575 -6.830746e-02
    10128 user10128 NA 2.79513814 1.7422665456 -1.995172e-01
    10129 user10129 3.836259e-01 0.56348210 NA -8.307192e-01
    10130 user10130 1.958132e-01 1.70700083 1.5004461885 -1.225347e-01
    10131 user10131 NA -7.41461043 1.0121022418 -1.494484e-01
    10132 user10132 1.272573e+00 -2.49500434 0.1829198603 -5.690982e+00
    10133 user10133 2.736324e+01 1.27200021 0.6483562982 -3.988632e-02
    10134 user10134 2.756134e-02 -2.08095501 1.4961041564 -3.115253e+00
    10135 user10135 1.357801e+00 -5.56979374 -3.7187898973 -1.559515e+01
    10136 user10136 5.885795e-02 1.83046623 -1.3647209793 -2.239422e+01
    10137 user10137 5.053011e-02 -1.75174536 -0.5299539832 -1.430993e+00
    10138 user10138 3.990350e+02 4.20532632 -0.5066807068 -3.153273e-01
    10139 user10139 1.660218e-02 -0.93689233 NA -5.640796e-01
    10140 user10140 2.293031e-01 0.14009185 1.7754410277 -2.872941e-02
    10141 user10141 9.532018e+00 1.22811715 -2.2433718875 -5.438821e-01
    10142 user10142 1.274731e+00 1.66580611 0.2103632633 -2.249791e-01
    10143 user10143 5.008334e-01 -6.82961082 -0.0537498724 -1.065025e-01
    10144 user10144 1.265676e-01 3.01660073 0.2192172798 -5.026672e+01
    10145 user10145 2.303798e-01 NA 0.8498013717 -6.718853e-01
    10146 user10146 3.798309e-01 3.36345454 1.4284920503 -5.164874e-01
    10147 user10147 1.315660e-01 -2.89893730 0.0574559229 -1.302707e+01
    10148 user10148 6.967737e-01 2.98963869 -0.2830303156 -2.559451e+01
    10149 user10149 1.455808e+00 NA 1.5214499459 -3.604476e+00
    10150 user10150 1.634349e-01 -2.07921439 -2.0233001834 -9.105730e-01
    10151 user10151 2.426702e+00 0.48310450 2.6737006474 -1.692755e-01
    10152 user10152 8.809632e-02 -4.23534084 -2.0436110698 -1.333900e+01
    10153 user10153 2.629901e-01 -1.39824770 1.1902637300 -2.424004e-01
    10154 user10154 6.305217e+00 -0.75191359 -1.3771402575 -1.295657e-02
    10155 user10155 1.393670e+00 0.49479500 -0.3944517139 -1.909516e+00
    10156 user10156 1.136182e+01 -2.91729532 1.6707883105 -2.722432e-02
    10157 user10157 6.957298e+00 -1.29571890 2.0763298563 -1.884098e-02
    10158 user10158 2.307190e+01 -1.19210903 -0.3195021465 -6.124751e-01
    10159 user10159 1.379820e-01 -0.97792908 0.4783422294 -5.745566e+00
    10160 user10160 7.027206e-02 -0.03920891 -1.4022321269 -9.149863e-01
    10161 user10161 8.390829e+00 2.76730978 -1.2626667791 -1.057715e-01
    10162 user10162 7.697953e-02 -0.16317361 0.7152398807 -8.527584e-01
    10163 user10163 6.942773e-01 3.70273486 3.8321463507 -1.093727e-02
    10164 user10164 9.970377e-01 -1.54410242 0.5310128613 -4.787256e-01
    10165 user10165 8.366671e+00 3.08751036 0.4467106595 -5.049051e+00
    10166 user10166 3.548020e-01 -2.27177048 0.2361373877 -3.630795e+00
    10167 user10167 2.142112e-02 -1.13207248 -0.2470812768 -1.605053e+00
    10168 user10168 1.334588e+01 2.89285313 1.0757164662 -1.231852e-01
    10169 user10169 1.889730e+00 -5.50881694 -1.0164923354 -1.537234e-01
    10170 user10170 3.937446e+00 -0.38394694 NA -3.230843e-01
    10171 user10171 3.587430e+00 1.09740884 -1.4005839262 -1.462886e+00
    10172 user10172 8.995211e+00 1.16659193 -0.1122889930 NA
    10173 user10173 3.798547e+00 -2.95603145 0.3507019083 -1.244600e+00
    10174 user10174 1.708658e-01 -4.59165794 1.4111553051 -8.637804e-02
    10175 user10175 8.146276e-02 2.98390275 -0.6603035039 -1.734059e+00
    10176 user10176 8.728968e-01 -0.43221067 -1.1241748118 -1.212072e+00
    10177 user10177 3.886330e+00 -0.07644267 0.4383924895 -1.335719e+00
    10178 user10178 1.023573e+00 -2.37123095 -0.0433282799 -1.813985e+00
    10179 user10179 1.611271e+00 4.65147308 -0.0212013679 -2.423224e+00
    10180 user10180 5.732998e-02 -2.30171965 0.3903862461 -7.684852e+00
    10181 user10181 5.238561e-01 2.07646985 1.0099334697 -7.687558e-01
    10182 user10182 1.843086e+00 2.10950540 0.3039564231 -1.818155e+00
    10183 user10183 9.056955e+00 -0.75295081 1.4953156640 -1.855772e-02
    10184 user10184 1.422818e-01 0.15983554 0.1993579131 NA
    10185 user10185 9.385543e+00 -1.17838400 0.0051949707 -9.301512e-01
    10186 user10186 4.919439e-01 0.17284860 -1.8931130873 -9.100480e+00
    10187 user10187 7.195161e-01 -4.45318050 -1.2805959135 -3.387433e-02
    10188 user10188 8.252866e-01 -1.54467974 -2.1959629207 -1.324573e+00
    10189 user10189 8.224645e+00 -0.01828957 1.2563251201 -1.379660e-02
    10190 user10190 2.495528e+00 2.27066073 0.0665816166 -3.562708e-01
    10191 user10191 2.379773e-01 -1.50078775 -1.6744760267 -5.454027e+00
    10192 user10192 1.592671e+01 -0.01878926 -1.8169001401 -3.223917e-01
    10193 user10193 2.575685e-01 -6.06403102 -3.3367132099 -3.453196e+00
    10194 user10194 6.298371e-01 0.55808402 -0.0525288404 -2.504983e-01
    10195 user10195 1.510460e+00 -5.64923866 0.3700592775 -1.000297e-01
    10196 user10196 2.902311e+00 2.98050798 2.3719084496 -2.465149e-02
    10197 user10197 2.669985e+00 0.56234683 1.3418648140 -3.427030e-01
    10198 user10198 1.855932e+00 2.68053851 0.3338445956 -1.901908e+00
    10199 user10199 5.368836e-01 0.81460385 -0.3533756333 -1.693830e-01
    10200 user10200 3.203422e+00 -1.70510793 0.5300520070 -5.419598e-01
    10201 user10201 1.949230e-01 1.23008399 -0.1563108585 -5.103193e+00
    10202 user10202 2.216081e-01 2.14532397 NA -4.011293e+00
    10203 user10203 1.103482e+00 0.67229760 -0.6686057616 -3.424638e+03
    10204 user10204 5.560651e+00 1.44847596 0.0510426459 -1.522044e+00
    10205 user10205 3.034749e-01 -1.58580962 -1.7280201730 -3.855258e+00
    10206 user10206 4.235346e-01 0.57967657 2.0684524893 -3.070049e-01
    10207 user10207 5.725452e-01 -1.78661125 -0.7353885824 -5.484629e+01
    10208 user10208 1.696366e+00 4.82984968 -0.0154633777 -1.465035e+01
    10209 user10209 1.179891e+01 4.11587146 2.0165582332 -6.099516e-02
    10210 user10210 3.995661e-01 -6.35464321 -3.4123652923 -4.723582e-01
    10211 user10211 5.688773e+00 4.75789546 -0.1987636777 -1.080315e+00
    10212 user10212 6.871258e-02 3.50149073 1.3435936096 -3.418150e-01
    10213 user10213 2.352781e+01 0.30114352 -0.6358650310 -1.208094e+01
    10214 user10214 NA -0.34196483 -0.9722741818 -4.206845e-01
    10215 user10215 1.271364e+01 1.09913535 1.5720167793 -1.025218e+00
    10216 user10216 3.325818e+00 1.80432592 -1.2749359224 -5.656546e+00
    10217 user10217 3.922833e+00 4.39676020 0.8376757027 -6.260836e-01
    10218 user10218 8.338871e-02 -5.18988342 -2.5887659652 -2.013567e-01
    10219 user10219 6.711596e-02 -1.15506480 0.4502249074 -1.467499e+00
    10220 user10220 8.031844e-01 -2.28349535 0.2792382872 -2.805655e+00
    10221 user10221 3.535053e-01 0.34579514 1.0737673602 -3.255602e+00
    10222 user10222 4.062547e-01 NA -1.1820508321 -1.769164e+00
    10223 user10223 NA -1.92086140 0.2953328333 -2.185706e+01
    10224 user10224 2.851440e+00 4.90371606 0.5149565552 -1.056964e-01
    10225 user10225 2.653206e+01 4.54445957 1.3099128000 -2.365799e-02
    10226 user10226 3.255711e-01 -3.80009857 -1.4598253657 -4.712495e+00
    10227 user10227 1.474598e+00 0.16678330 -0.3672158387 -1.442880e-01
    10228 user10228 1.298857e+02 -0.16013840 -1.7839679668 -9.278941e-01
    10229 user10229 1.178759e+00 -1.11469888 2.3743439349 -4.024226e-01
    10230 user10230 1.701088e+00 -2.22848009 -0.8678909485 -6.530714e-01
    10231 user10231 1.630963e-01 7.06340354 NA -6.021090e-01
    10232 user10232 NA 0.97924825 -0.2301717238 -1.208815e+00
    10233 user10233 4.738581e-01 -0.18746517 0.8748355164 -5.400522e-01
    10234 user10234 8.602948e-02 -4.35334033 1.2724660850 -1.461197e+01
    10235 user10235 NA 3.81601648 0.6749087331 -7.035341e-01
    10236 user10236 2.760202e-01 1.01250671 1.1885309981 -2.127505e+00
    10237 user10237 2.945535e+00 -3.30627382 -1.7907518904 -9.494454e+00
    10238 user10238 1.298335e+00 5.29353479 1.5786208551 -3.713632e+00
    10239 user10239 2.269597e-01 -1.36014135 0.6935488732 -1.993761e+00
    10240 user10240 2.398749e+00 -0.91323991 -0.7437016561 -3.457009e-02
    10241 user10241 1.221208e+00 4.20174514 -0.7276600903 -2.363698e+00
    10242 user10242 NA 3.22782947 -0.8181086986 -1.708359e+00
    10243 user10243 3.913752e-01 -5.17722819 -1.2857903965 NA
    10244 user10244 6.309836e+00 5.63357653 0.2802427939 -7.095716e-01
    10245 user10245 7.715252e+00 -2.64275268 -0.1349878928 -9.598665e+00
    10246 user10246 2.022395e-01 -1.76409122 -2.6469877703 -7.813243e-01
    10247 user10247 2.673883e-01 -5.75621815 -0.0111493255 -3.785462e-01
    10248 user10248 1.027525e+01 0.78711360 2.8294424739 -4.504677e-02
    10249 user10249 9.033733e+00 3.24837322 1.4350204653 -2.772381e-01
    10250 user10250 6.133167e-01 -3.80108616 1.7899590225 -2.191290e-01
     bounded_above_and_below_6 unbounded_7 unbounded_8 categorical_9
    10001 5.259401e-04 1.527378170 5.88738153 C
    10002 1.000000e+00 0.353243396 -3.70455630 B
    10003 1.250695e-01 0.370120772 -0.86386814 A
    10004 9.909147e-01 -0.014685984 -1.35735687 B
    10005 4.333583e-01 -0.873845580 0.33385397 A
    10006 9.999826e-01 0.405301525 -4.42698502 B
    10007 9.978803e-01 NA 0.04604133 C
    10008 6.137746e-01 -0.410604506 -0.38752641 C
    10009 1.339759e-01 -0.381732744 -0.59004596 B
    10010 1.000000e+00 2.542814995 -1.10668517 B
    10011 9.982847e-01 -0.690687344 -4.29641133 B
    10012 8.238650e-06 -1.590644400 3.44001875 C
    10013 6.400949e-01 1.176694092 1.32023954 A
    10014 8.210576e-01 -1.126250829 -2.49169106 A
    10015 NA -1.874130796 -1.83783377 A
    10016 NA -0.503647665 0.98345754 B
    10017 9.776825e-01 1.762345552 0.43036477 C
    10018 5.234147e-02 0.430416421 0.84482979 B
    10019 6.788508e-01 0.410307298 -0.93085776 A
    10020 7.547631e-03 0.678007577 2.76840630 C
    10021 9.897306e-01 0.167009017 0.38765532 C
    10022 9.964036e-01 -0.288086154 -2.68742371 B
    10023 NA -0.127662503 -2.88031740 A
    10024 2.336961e-02 -0.350874073 -0.74453771 C
    10025 4.936128e-02 -0.788417395 1.00535314 A
    10026 7.925209e-01 2.042523158 2.41703428 B
    10027 1.671108e-02 1.044982897 5.70938977 <NA>
    10028 7.867983e-01 0.609194673 1.76482173 B
    10029 2.250452e-01 -1.031002715 -1.43004548 B
    10030 7.550066e-04 -0.428546195 0.45196588 B
    10031 5.883580e-01 1.062375076 1.77055993 B
    10032 3.262633e-03 -0.875996373 1.22974256 A
    10033 6.146004e-03 1.121015172 1.84064151 A
    10034 9.998916e-01 1.533006140 -1.30837565 B
    10035 1.092540e-03 -1.316045445 1.56722532 C
    10036 1.000000e+00 2.381838530 -7.50853425 B
    10037 2.677213e-04 -0.077848563 4.10395264 A
    10038 3.665459e-09 -1.025607842 4.72257695 C
    10039 9.999998e-01 -0.681845251 -6.31681189 A
    10040 7.821991e-01 NA -0.40695810 A
    10041 4.409764e-01 -1.593471747 0.96213201 B
    10042 9.887613e-01 1.209294842 -2.57719956 C
    10043 2.980634e-03 -0.186125797 2.79826651 A
    10044 1.046048e-04 -1.521187134 1.14325279 A
    10045 1.146984e-01 NA 1.81647848 C
    10046 9.510433e-01 0.326105088 -2.72306470 B
    10047 7.881862e-01 0.074951151 -2.31297359 A
    10048 NA -0.994021854 -2.02778961 B
    10049 4.197190e-06 -1.940603629 1.90595223 <NA>
    10050 1.233762e-01 1.653432138 4.24642955 C
    10051 9.615830e-01 -0.465082711 0.65414885 C
    10052 8.851307e-01 -0.542779659 -3.54999088 A
    10053 6.396741e-12 0.555371386 4.29062403 <NA>
    10054 2.977918e-01 0.465120519 0.83857850 B
    10055 2.130015e-11 -1.069363601 7.05772414 C
    10056 2.033553e-02 -2.114199367 -1.39798695 A
    10057 2.782532e-04 -0.386431423 1.99928934 C
    10058 3.670824e-01 -1.311262047 -2.08690677 A
    10059 9.945033e-01 -0.041908260 -1.84079902 B
    10060 6.386784e-03 -1.820447962 -0.64277936 C
    10061 1.000000e+00 1.456916044 -4.20008757 A
    10062 1.000000e+00 -0.609387265 -9.02258939 <NA>
    10063 2.011238e-01 -0.037715776 -1.80549517 B
    10064 3.058413e-01 0.322575430 4.07873298 C
    10065 8.337828e-01 -0.585364019 -2.33362696 B
    10066 1.110774e-09 -0.675516031 4.51715859 A
    10067 2.589344e-05 -0.663456710 4.43802485 <NA>
    10068 1.912377e-02 1.619974269 2.64460967 C
    10069 3.228178e-01 -0.467646589 -1.36129128 A
    10070 4.237767e-01 2.099733273 1.44155446 <NA>
    10071 9.503267e-01 1.013298431 -0.54825925 B
    10072 9.977866e-01 -0.308637487 -2.71930592 A
    10073 7.562094e-01 0.902358820 0.76559454 B
    10074 3.157822e-05 -1.311593631 0.73564613 A
    10075 9.997398e-01 -2.154412670 -5.05705986 C
    10076 2.761480e-01 0.019359848 -0.04712709 B
    10077 7.288213e-01 -1.308560961 -1.88923520 B
    10078 9.956773e-01 -2.075489862 -6.56601675 A
    10079 9.999994e-01 -3.457356922 -8.94137674 A
    10080 8.795554e-01 1.036399175 -3.15443874 B
    10081 8.513897e-01 -2.679336838 0.08237272 C
    10082 2.869911e-01 -0.024354913 2.74146093 C
    10083 2.342102e-02 0.062274717 0.88148755 B
    10084 9.997274e-01 1.938354314 -1.17430332 B
    10085 9.999003e-01 0.978332853 0.27545797 B
    10086 6.539943e-03 1.364049630 6.43039311 C
    10087 3.383138e-01 -0.423368923 0.64691770 C
    10088 9.282273e-01 0.952943258 -1.42101038 A
    10089 9.795171e-01 NA -2.36043645 C
    10090 3.765626e-02 1.479683309 0.90572860 A
    10091 7.522971e-04 -2.438749606 1.32312234 A
    10092 1.572112e-04 0.999075641 3.73735849 C
    10093 8.502087e-01 0.184408271 -0.63509876 B
    10094 2.779197e-01 -1.044912745 -3.14632759 B
    10095 9.982666e-01 -0.341730160 0.12952170 A
    10096 7.411217e-02 1.650973282 1.63478410 B
    10097 9.991731e-01 0.807484571 -0.06371224 C
    10098 4.506934e-08 -0.159898518 3.60175540 A
    10099 1.347759e-05 -0.233294801 5.38235445 B
    10100 7.131593e-01 -0.091588525 0.69761051 B
    10101 2.760650e-01 1.426278340 2.78231733 A
    10102 5.821427e-02 0.293176337 0.64539051 B
    10103 7.836547e-03 -0.448353918 1.53985199 C
    10104 6.291190e-03 -0.361128939 3.92555427 C
    10105 9.999995e-01 1.720203303 NA C
    10106 2.582211e-05 -1.354699497 1.96497558 A
    10107 NA 1.064384723 NA B
    10108 3.677885e-01 -0.426461924 -1.70270307 A
    10109 5.449978e-07 0.358064238 2.34935786 A
    10110 5.449683e-01 0.011711442 -1.93659721 B
    10111 2.889103e-07 0.062837850 2.05160325 <NA>
    10112 2.307192e-05 -0.134479299 4.35132368 A
    10113 9.164041e-01 1.384531611 1.61450156 B
    10114 1.766609e-04 -1.774782128 -0.97295002 A
    10115 2.504159e-12 0.235485878 5.38394537 B
    10116 2.518712e-02 -0.193975843 -0.03532528 B
    10117 6.635546e-01 -0.088857336 0.26167674 A
    10118 9.999975e-01 1.977821308 -2.17210060 C
    10119 1.709217e-02 -1.822007419 -1.25424480 C
    10120 9.457799e-01 0.447724893 -0.26410649 B
    10121 7.215907e-01 -1.216078152 -2.73205004 A
    10122 9.830194e-01 0.578922176 NA B
    10123 3.079505e-03 -0.761214311 0.24234346 A
    10124 1.000000e+00 0.127835807 -5.43378035 A
    10125 5.621895e-01 0.758821717 1.03946560 C
    10126 9.788406e-11 -1.408095103 5.97141762 A
    10127 8.577737e-01 2.412866508 1.33373493 B
    10128 4.948111e-02 NA 2.24550048 C
    10129 8.763176e-01 -0.918329853 -3.11584672 B
    10130 NA -0.576802584 -6.13185524 B
    10131 9.999984e-01 2.529410443 -2.96409656 B
    10132 9.999999e-01 -1.613224115 -5.89073550 A
    10133 4.455912e-01 0.018006604 0.56785835 C
    10134 NA 1.426088410 -1.59279239 B
    10135 5.269791e-05 -0.342570321 3.11682485 C
    10136 8.138964e-01 0.229099685 -1.02935637 A
    10137 6.321975e-01 2.068944344 3.16128633 B
    10138 6.212128e-05 -1.273647742 4.03246372 A
    10139 9.199654e-01 1.845622139 -0.38145870 B
    10140 9.498426e-01 1.010396690 -3.53645581 B
    10141 9.446785e-11 -1.123397293 3.62577134 C
    10142 9.999632e-01 NA -1.16021639 B
    10143 9.999963e-01 2.280436255 -0.51561036 <NA>
    10144 NA -0.362292203 -1.26000008 A
    10145 8.813739e-01 0.600025468 -2.63843998 B
    10146 3.287122e-01 0.485871889 0.82696503 B
    10147 9.999824e-01 -0.613328088 NA <NA>
    10148 4.034627e-03 -0.393612116 1.60964385 A
    10149 1.500395e-03 -0.932709836 1.29120944 A
    10150 6.718172e-01 0.685142213 -0.87520409 B
    10151 6.208927e-01 -1.528226281 -5.82487398 A
    10152 1.939745e-01 -0.123386746 -1.24982280 A
    10153 4.694966e-01 0.758267868 -0.91732815 B
    10154 9.946869e-01 -0.240646757 -0.89396782 B
    10155 9.466046e-02 -1.301200824 NA <NA>
    10156 9.995612e-01 1.730516837 0.39262093 B
    10157 9.884990e-01 1.175021074 -0.78502199 B
    10158 7.602286e-02 -0.689429485 1.87459692 C
    10159 7.439418e-01 -1.523415120 NA A
    10160 9.810042e-01 -0.826295628 -3.56579328 B
    10161 4.785178e-02 -0.275105648 2.57489553 <NA>
    10162 2.437269e-02 -0.300864635 NA B
    10163 7.484977e-01 -0.229733708 -1.84133735 B
    10164 8.631983e-01 NA -1.17598736 C
    10165 8.930081e-03 -2.179178441 0.14815316 A
    10166 8.905373e-01 0.917811974 0.62968986 B
    10167 9.999997e-01 0.835089843 -5.64960186 A
    10168 9.803094e-01 -1.509798159 -2.74586394 B
    10169 9.514482e-01 1.042909384 -1.44844103 C
    10170 6.080931e-02 -0.741422226 -0.19240528 C
    10171 3.770412e-01 -0.007298737 1.23569615 C
    10172 9.816784e-01 NA 0.38185847 C
    10173 9.999302e-01 -0.186427542 -2.29119150 B
    10174 1.000000e+00 2.542787859 -1.70050654 B
    10175 1.450123e-05 0.693628563 3.30212082 B
    10176 8.999235e-01 NA 0.61953691 C
    10177 NA 0.547335800 0.82304946 A
    10178 2.045698e-01 -0.275512436 1.22244745 C
    10179 3.009800e-03 0.381476912 4.20523670 A
    10180 9.998072e-01 0.294588347 -4.45617852 A
    10181 3.321398e-02 -0.040446488 1.67778461 <NA>
    10182 9.576097e-02 -1.474351395 0.11666206 B
    10183 6.021629e-03 0.215335922 2.43946921 B
    10184 9.983275e-01 -0.249945057 -3.66295653 A
    10185 3.291372e-02 0.277442767 1.21515501 A
    10186 3.180165e-01 -0.763255238 -0.04595567 A
    10187 9.998837e-01 1.531918713 -0.58772208 C
    10188 8.036269e-01 -0.295616125 0.44986965 C
    10189 5.175829e-01 -0.526072173 -1.80519609 B
    10190 2.292121e-01 0.352870073 1.37489068 A
    10191 6.778176e-01 -0.343346023 -0.43211269 C
    10192 9.622618e-01 1.199775686 2.22856841 C
    10193 9.999603e-01 0.644249452 -2.05579563 C
    10194 5.999294e-02 -0.032531256 -0.81190835 A
    10195 9.999997e-01 2.503401369 1.20213264 B
    10196 4.347189e-01 -0.303998134 -2.29884888 B
    10197 8.680973e-01 -1.010747145 -1.17513020 C
    10198 1.182893e-05 NA 3.58688795 A
    10199 7.743040e-01 -0.597866495 -3.82788697 A
    10200 9.515264e-01 0.802209123 0.69047719 C
    10201 9.899178e-01 0.799440995 -0.89877045 A
    10202 4.058402e-01 1.162804325 3.89857391 B
    10203 5.198188e-03 -1.658942214 1.19853969 A
    10204 3.125981e-06 -1.471199687 1.48640807 A
    10205 9.759137e-01 -0.650601695 -3.21076739 A
    10206 9.986857e-01 0.212034688 -3.06256756 B
    10207 7.168594e-01 0.281655805 2.22638147 A
    10208 4.280174e-03 -1.393814873 -0.40987539 A
    10209 3.595799e-01 0.233458912 0.18601182 A
    10210 9.999745e-01 2.057231442 -0.32929667 <NA>
    10211 NA -1.427678987 1.57162789 A
    10212 8.965397e-01 0.382238258 -2.81016687 B
    10213 6.293537e-01 -2.648665846 -3.30469550 A
    10214 6.797256e-01 1.302999195 0.46963803 B
    10215 9.999818e-01 -1.429800170 -5.04367021 A
    10216 1.071708e-05 -0.400498787 3.99538167 A
    10217 1.913905e-01 -1.120751116 1.11710992 C
    10218 9.641708e-01 1.445506253 NA C
    10219 9.999959e-01 -0.222319825 -3.67963848 B
    10220 9.972638e-01 0.878677684 NA C
    10221 1.000000e+00 -0.267381828 -6.28183441 A
    10222 9.649574e-01 -0.963918984 -4.32156467 A
    10223 1.000000e+00 1.243977103 -1.98480148 A
    10224 3.105808e-15 -0.234357279 5.33619086 B
    10225 NA 0.048766220 1.65403216 B
    10226 9.314981e-01 -0.938610920 -4.60565339 A
    10227 9.133958e-01 0.224474215 -1.55741444 B
    10228 2.439535e-06 -1.309455641 4.26351817 <NA>
    10229 1.895697e-02 0.496253212 1.06468251 C
    10230 9.216237e-01 -0.674831760 -0.59165117 C
    10231 1.020146e-01 1.289415055 1.41064894 B
    10232 NA -0.987505351 -0.84973796 C
    10233 5.838705e-01 -0.141629368 -1.49876258 B
    10234 9.477671e-01 1.607055368 0.68459616 B
    10235 2.198709e-05 -0.723501662 3.60842986 C
    10236 1.190910e-01 1.072666179 2.02039399 B
    10237 5.882773e-02 0.719163013 5.43524702 C
    10238 5.161093e-01 NA -1.31410940 B
    10239 1.262476e-01 -1.541882408 -3.87092324 A
    10240 6.391260e-02 1.940371810 4.29272611 B
    10241 2.797724e-14 0.551876542 9.07203811 C
    10242 3.328070e-05 -1.919350529 1.91000986 C
    10243 9.999377e-01 0.716034901 NA B
    10244 2.029122e-07 0.052458871 5.18462309 C
    10245 2.576975e-01 -0.926542641 0.99535813 C
    10246 2.241921e-01 0.206820987 -0.23644545 C
    10247 9.999985e-01 2.792584066 -0.21183446 B
    10248 9.969750e-01 0.329724857 -0.89919518 B
    10249 NA -0.746986370 3.06693473 B
    10250 9.995410e-01 NA -2.24014224 B
    > imputed_data <- FastImputation(FI_test, patterns)
    
     |
     | | 0%
     |
     |= | 1%
     |
     |= | 2%
     |
     |== | 2%
     |
     |== | 3%
     |
     |=== | 4%
     |
     |=== | 5%
     |
     |==== | 5%
     |
     |==== | 6%
     |
     |===== | 7%
     |
     |===== | 8%
     |
     |====== | 8%
     |
     |====== | 9%
     |
     |======= | 10%
     |
     |======== | 11%
     |
     |======== | 12%
     |
     |========= | 12%
     |
     |========= | 13%
     |
     |========== | 14%
     |
     |========== | 15%
     |
     |=========== | 15%
     |
     |=========== | 16%
     |
     |============ | 17%
     |
     |============ | 18%
     |
     |============= | 18%
     |
     |============= | 19%
     |
     |============== | 20%
     |
     |=============== | 21%
     |
     |=============== | 22%
     |
     |================ | 22%
     |
     |================ | 23%
     |
     |================= | 24%
     |
     |================= | 25%
     |
     |================== | 25%
     |
     |================== | 26%
     |
     |=================== | 27%
     |
     |=================== | 28%
     |
     |==================== | 28%
     |
     |==================== | 29%
     |
     |===================== | 30%
     |
     |====================== | 31%
     |
     |====================== | 32%
     |
     |======================= | 32%
     |
     |======================= | 33%
     |
     |======================== | 34%
     |
     |======================== | 35%
     |
     |========================= | 35%
     |
     |========================= | 36%
     |
     |========================== | 37%
     |
     |========================== | 38%
     |
     |=========================== | 38%
     |
     |=========================== | 39%
     |
     |============================ | 40%
     |
     |============================= | 41%
     |
     |============================= | 42%
     |
     |============================== | 42%
     |
     |============================== | 43%
     |
     |=============================== | 44%
     |
     |=============================== | 45%
     |
     |================================ | 45%
     |
     |================================ | 46%
     |
     |================================= | 47%
     |
     |================================= | 48%
     |
     |================================== | 48%
     |
     |================================== | 49%
     |
     |=================================== | 50%
     |
     |==================================== | 51%
     |
     |==================================== | 52%
     |
     |===================================== | 52%
     |
     |===================================== | 53%
     |
     |====================================== | 54%
     |
     |====================================== | 55%
     |
     |======================================= | 55%
     |
     |======================================= | 56%
     |
     |======================================== | 57%
     |
     |======================================== | 58%
     |
     |========================================= | 58%
     |
     |========================================= | 59%
     |
     |========================================== | 60%
     |
     |=========================================== | 61%
     |
     |=========================================== | 62%
     |
     |============================================ | 62%
     |
     |============================================ | 63%
     |
     |============================================= | 64%
     |
     |============================================= | 65%
     |
     |============================================== | 65%
     |
     |============================================== | 66%
     |
     |=============================================== | 67%
     |
     |=============================================== | 68%
     |
     |================================================ | 68%
     |
     |================================================ | 69%
     |
     |================================================= | 70%
     |
     |================================================== | 71%
     |
     |================================================== | 72%
     |
     |=================================================== | 72%
     |
     |=================================================== | 73%
     |
     |==================================================== | 74%
     |
     |==================================================== | 75%
     |
     |===================================================== | 75%
     |
     |===================================================== | 76%
     |
     |====================================================== | 77%
     |
     |====================================================== | 78%
     |
     |======================================================= | 78%
     |
     |======================================================= | 79%
     |
     |======================================================== | 80%
     |
     |========================================================= | 81%
     |
     |========================================================= | 82%
     |
     |========================================================== | 82%
     |
     |========================================================== | 83%
     |
     |=========================================================== | 84%
     |
     |=========================================================== | 85%
     |
     |============================================================ | 85%
     |
     |============================================================ | 86%
     |
     |============================================================= | 87%
     |
     |============================================================= | 88%
     |
     |============================================================== | 88%
     |
     |============================================================== | 89%
     |
     |=============================================================== | 90%
     |
     |================================================================ | 91%
     |
     |================================================================ | 92%
     |
     |================================================================= | 92%
     |
     |================================================================= | 93%
     |
     |================================================================== | 94%
     |
     |================================================================== | 95%
     |
     |=================================================================== | 95%
     |
     |=================================================================== | 96%
     |
     |==================================================================== | 97%
     |
     |==================================================================== | 98%
     |
     |===================================================================== | 98%
     |
     |===================================================================== | 99%
     |
     |======================================================================| 100%
    
    > imputed_data # good guesses for missing values are filled in
     user_id_1 bounded_below_2 unbounded_3 unbounded_4 bounded_above_5
    1 user10001 6.598862975 -0.32695539 -1.0408252077 -5.435780e-01
    2 user10002 0.018324988 -1.85569959 -0.6626172532 -1.837007e+01
    3 user10003 0.670104418 2.59744678 1.8078093302 -4.445718e-01
    4 user10004 0.349667929 -1.78689283 -0.9144677342 -1.649258e+00
    5 user10005 4.050968411 0.70258045 -0.4974376086 -5.631747e+00
    6 user10006 0.177503421 -2.23879469 0.3686458866 -1.263723e-01
    7 user10007 1.409736506 -1.70517586 -1.2708599422 -2.137070e-01
    8 user10008 1.697107642 -2.10687247 -1.5727666618 -9.484890e-01
    9 user10009 0.609714165 2.63023887 1.6198541590 -1.189719e+00
    10 user10010 0.553875531 -5.44881157 -1.2236015199 -1.436618e-01
    11 user10011 0.453756872 -2.21531670 0.0732546137 -1.276806e+00
    12 user10012 16.462160267 5.08106096 -0.3680009660 -6.454465e-01
    13 user10013 0.360250440 2.35827479 0.8633373736 -6.563387e-01
    14 user10014 6.579556609 1.65927051 0.1702854877 -1.495291e+00
    15 user10015 0.163097803 2.43310591 -1.1987407018 -2.525325e+02
    16 user10016 6.514561058 1.07481479 -0.3696209493 -4.594812e-01
    17 user10017 0.074737948 -3.66707756 -1.2432811200 -6.611514e+00
    18 user10018 0.483415880 -1.54169123 0.2899829901 -3.704330e-01
    19 user10019 0.245174562 -0.13776787 -0.8623472363 -9.828478e-01
    20 user10020 0.621493126 -1.25862184 -1.6106674176 -5.569624e-01
    21 user10021 11.176462228 -1.77070736 0.0787166207 -1.032776e+00
    22 user10022 0.160591748 -1.60492426 0.1234377865 -1.268749e+00
    23 user10023 -3.315700033 0.98211508 0.0838916821 -1.616274e-01
    24 user10024 2.055029544 0.82827589 0.5282382675 -4.065962e-02
    25 user10025 0.843253628 -0.71966808 -2.8675107847 -8.464935e+00
    26 user10026 0.060953993 -1.99652099 0.0098253319 -2.152424e+00
    27 user10027 1.826331659 1.21084468 -2.0840642994 -1.727501e+00
    28 user10028 0.068362631 0.72257108 -0.6172466716 -2.727368e+01
    29 user10029 10.318087932 1.74046447 1.5429548629 -4.241155e-02
    30 user10030 1.467333968 4.63094541 2.0075598921 -7.764112e-02
    31 user10031 1.842931331 -2.52492867 1.2103082016 -5.025671e-01
    32 user10032 7.628404871 3.53759262 2.8884529735 -6.319618e-01
    33 user10033 0.200367359 1.58558255 0.0920318847 -2.058795e+00
    34 user10034 0.858782575 -4.50260830 -0.1734702569 -8.725933e-02
    35 user10035 27.054980334 0.68036202 1.3912772607 -6.690156e-01
    36 user10036 0.005444630 -6.46881505 1.1842490584 -9.817641e-02
    37 user10037 2.607685475 4.32756687 2.3089480472 -3.855545e+00
    38 user10038 176.773507704 4.27772230 0.0115132389 -2.104327e-02
    39 user10039 0.027236070 -0.14410034 1.1582706746 -4.331893e+01
    40 user10040 0.169551329 -1.29590677 1.1461316511 -3.781391e+00
    41 user10041 2.328461519 2.17838638 -1.1560101574 -8.462963e+00
    42 user10042 1.431258565 -4.34687538 0.4214012070 -6.124771e-02
    43 user10043 2.322131560 3.17155026 0.6183285072 -2.476478e+00
    44 user10044 6.501784361 3.09365584 -1.3378450617 -4.907960e+00
    45 user10045 0.832588033 0.48229072 -0.6280652177 -3.512296e+00
    46 user10046 0.923518425 1.50634471 1.9265482084 -7.947189e-02
    47 user10047 1.897827978 0.02815443 1.3125331524 -1.090115e-01
    48 user10048 1.015259515 2.27512614 0.5422732900 -1.170126e+01
    49 user10049 29.053344181 4.24571273 0.3344507759 -2.179834e+00
    50 user10050 0.456778025 -4.70452906 -1.6160430470 -9.763291e+00
    51 user10051 28.821307235 -2.28748541 -0.9520525345 -2.158771e-01
    52 user10052 0.103538994 0.01298172 0.1361038039 -7.150137e+00
    53 user10053 0.754250901 0.99140173 -0.5519799849 -7.122756e-02
    54 user10054 1.505760416 -2.20706290 0.2986444415 -5.091365e-01
    55 user10055 31.071976784 6.62856125 -0.5619476052 -1.059897e+00
    56 user10056 1.311748436 1.13025897 -1.1584168238 -7.655205e+00
    57 user10057 1.218343599 -0.08590795 -1.6295775820 -4.545405e-01
    58 user10058 0.570099307 -2.11562540 -3.5393842651 -7.633153e+00
    59 user10059 1.289848675 -1.01281522 1.1607361336 -4.285372e-01
    60 user10060 38.359238341 4.99847468 1.7635632742 -4.824088e-03
    61 user10061 0.009732679 -3.54417627 0.1855492832 -1.241930e+01
    62 user10062 18.178531574 -5.37912280 1.1507180320 -8.003573e-03
    63 user10063 0.099119508 -0.70633383 -0.9775464824 -1.807964e+01
    64 user10064 10.358693809 -1.70399566 -2.0325937340 -3.024913e-01
    65 user10065 0.397015345 0.08627526 -0.9185422426 -6.082198e-01
    66 user10066 15.997579465 3.94588055 0.8717432847 -3.738224e+00
    67 user10067 3.661285653 1.23821723 -2.2289683767 -8.572169e+00
    68 user10068 0.728147199 -3.14360773 -1.1435212070 -3.256341e-02
    69 user10069 2.025863098 2.89982091 1.1824083322 -1.776025e+01
    70 user10070 0.281541274 -2.73728299 0.8809632920 -2.252295e-01
    71 user10071 5.785422232 -2.90281331 0.4457125576 -3.368942e-02
    72 user10072 0.093406538 -3.45867354 -1.4238335575 -3.407088e+01
    73 user10073 0.896088027 0.31529373 2.2757216907 -3.651484e-02
    74 user10074 0.325724041 4.14741267 -1.3643546356 -8.289164e+00
    75 user10075 156.677811592 -0.97191014 -0.4449931641 -3.054064e-02
    76 user10076 8.565692101 0.29819640 0.6536919682 -6.096698e-02
    77 user10077 0.179572702 0.86941401 0.0119261808 -2.333257e+01
    78 user10078 0.271157127 0.50425557 -0.0185625174 -1.782452e+01
    79 user10079 4.586260604 -0.69591228 0.0465337733 -1.189007e+01
    80 user10080 0.009911726 0.82415256 1.8902036545 -2.955665e+00
    81 user10081 185.374304043 -2.50050036 0.3400916200 -1.186461e+01
    82 user10082 51.200189542 -0.41461546 0.3380032461 -1.417067e-02
    83 user10083 0.031287548 2.60673843 -0.4016618484 -3.936934e+00
    84 user10084 0.035308123 -3.68403849 -0.2802918247 -4.010063e+00
    85 user10085 0.336003049 -5.11243408 -2.7869212328 -2.690308e+00
    86 user10086 87.370146402 1.53836555 -0.4027285774 -2.918148e-01
    87 user10087 10.308034662 -0.68956899 -0.6080514292 -1.801237e-01
    88 user10088 -7.090825966 -3.09856926 -1.1278848278 -7.658242e+00
    89 user10089 8.777785871 -1.07635376 -0.2769167672 -8.414759e-01
    90 user10090 2.210107086 -2.59249026 -0.6908116078 -2.172571e-01
    91 user10091 14.279482932 3.95562522 -0.0719637194 -1.683513e+01
    92 user10092 0.336229166 1.04782538 -0.8401937144 -8.323539e-01
    93 user10093 0.491228941 -0.60462945 0.9667734769 -1.211423e-01
    94 user10094 1.558868444 2.03307388 2.0076580294 -1.469431e-01
    95 user10095 10.415746314 -0.64383707 -1.0580494686 -1.256480e+02
    96 user10096 2.572990495 1.25851548 3.8589949880 -3.907421e-02
    97 user10097 1.926535362 -4.71519012 -0.5293087569 -1.132815e+00
    98 user10098 6.554252714 0.59104603 -0.9676603718 -3.165374e+01
    99 user10099 1.582013563 0.26061129 -1.3312892906 -1.776128e+00
    100 user10100 1.700371036 2.94584896 1.7076725112 -1.053127e-01
    101 user10101 0.028578153 -1.42150766 -1.6417368347 -5.217430e+01
    102 user10102 0.234464735 0.49860069 2.1303586947 -1.310452e+00
    103 user10103 1.674696241 2.16607836 0.1265799678 7.662267e-01
    104 user10104 0.722747943 1.14966375 -0.5165805266 -4.812268e+00
    105 user10105 45.410067006 -1.62264790 1.5811455276 -2.145271e-02
    106 user10106 0.093902793 4.60683421 -0.4723057401 -3.222514e+01
    107 user10107 0.533434389 -3.59559209 0.6165795381 -1.532438e-01
    108 user10108 4.631532289 0.73776922 0.9731906090 -1.550302e+00
    109 user10109 0.298968637 3.12025918 0.7319748634 -1.324075e+01
    110 user10110 0.021741174 -2.33309869 -1.3794709939 -4.868314e+00
    111 user10111 0.169669238 1.73262777 -0.7628431280 -1.725473e+00
    112 user10112 2.241846521 1.80376285 0.1793971582 -7.749609e+00
    113 user10113 0.088344413 -4.50406085 -2.4399833619 -6.635795e+00
    114 user10114 2.645018274 1.56918694 -0.0898595583 -2.885335e+00
    115 user10115 2.043560639 4.93519111 1.2925465825 -7.849044e-02
    116 user10116 1.931922969 0.16431069 1.0341908787 -4.221237e-02
    117 user10117 5.769044861 -0.11747254 -0.9548944729 -5.066865e-01
    118 user10118 -1.623608965 -5.94816135 0.1486687258 -1.285302e-01
    119 user10119 2.123340895 1.09417451 -0.0004171489 -2.150998e+00
    120 user10120 2.386375317 -1.44526401 -0.9465162406 -2.998660e-01
    121 user10121 0.307111406 -2.02115387 -2.2479407129 -2.361466e+01
    122 user10122 1.188388444 -0.59502665 2.3804945471 -9.437218e-03
    123 user10123 0.154993162 3.23134327 2.3979648986 -3.355107e+01
    124 user10124 0.015343339 -6.09868648 -1.5126189040 -1.563606e+02
    125 user10125 1.344220355 -2.61346308 -1.0430050549 -4.232341e-01
    126 user10126 18.931693323 5.20972112 0.0631564322 -2.511623e+01
    127 user10127 0.082511013 -0.18148691 -0.3267704575 -6.830746e-02
    128 user10128 27.514468321 2.79513814 1.7422665456 -1.995172e-01
    129 user10129 0.383625908 0.56348210 1.0428813663 -8.307192e-01
    130 user10130 0.195813214 1.70700083 1.5004461885 -1.225347e-01
    131 user10131 -14.953823400 -7.41461043 1.0121022418 -1.494484e-01
    132 user10132 1.272572557 -2.49500434 0.1829198603 -5.690982e+00
    133 user10133 27.363243150 1.27200021 0.6483562982 -3.988632e-02
    134 user10134 0.027561335 -2.08095501 1.4961041564 -3.115253e+00
    135 user10135 1.357801160 -5.56979374 -3.7187898973 -1.559515e+01
    136 user10136 0.058857949 1.83046623 -1.3647209793 -2.239422e+01
    137 user10137 0.050530112 -1.75174536 -0.5299539832 -1.430993e+00
    138 user10138 399.035033161 4.20532632 -0.5066807068 -3.153273e-01
    139 user10139 0.016602184 -0.93689233 0.9889888287 -5.640796e-01
    140 user10140 0.229303102 0.14009185 1.7754410277 -2.872941e-02
    141 user10141 9.532018239 1.22811715 -2.2433718875 -5.438821e-01
    142 user10142 1.274731241 1.66580611 0.2103632633 -2.249791e-01
    143 user10143 0.500833403 -6.82961082 -0.0537498724 -1.065025e-01
    144 user10144 0.126567578 3.01660073 0.2192172798 -5.026672e+01
    145 user10145 0.230379797 -1.62924023 0.8498013717 -6.718853e-01
    146 user10146 0.379830903 3.36345454 1.4284920503 -5.164874e-01
    147 user10147 0.131565964 -2.89893730 0.0574559229 -1.302707e+01
    148 user10148 0.696773668 2.98963869 -0.2830303156 -2.559451e+01
    149 user10149 1.455808264 4.28249794 1.5214499459 -3.604476e+00
    150 user10150 0.163434909 -2.07921439 -2.0233001834 -9.105730e-01
    151 user10151 2.426702400 0.48310450 2.6737006474 -1.692755e-01
    152 user10152 0.088096323 -4.23534084 -2.0436110698 -1.333900e+01
    153 user10153 0.262990058 -1.39824770 1.1902637300 -2.424004e-01
    154 user10154 6.305217159 -0.75191359 -1.3771402575 -1.295657e-02
    155 user10155 1.393669660 0.49479500 -0.3944517139 -1.909516e+00
    156 user10156 11.361819722 -2.91729532 1.6707883105 -2.722432e-02
    157 user10157 6.957297958 -1.29571890 2.0763298563 -1.884098e-02
    158 user10158 23.071896808 -1.19210903 -0.3195021465 -6.124751e-01
    159 user10159 0.137981975 -0.97792908 0.4783422294 -5.745566e+00
    160 user10160 0.070272061 -0.03920891 -1.4022321269 -9.149863e-01
    161 user10161 8.390829265 2.76730978 -1.2626667791 -1.057715e-01
    162 user10162 0.076979532 -0.16317361 0.7152398807 -8.527584e-01
    163 user10163 0.694277259 3.70273486 3.8321463507 -1.093727e-02
    164 user10164 0.997037691 -1.54410242 0.5310128613 -4.787256e-01
    165 user10165 8.366670838 3.08751036 0.4467106595 -5.049051e+00
    166 user10166 0.354802043 -2.27177048 0.2361373877 -3.630795e+00
    167 user10167 0.021421122 -1.13207248 -0.2470812768 -1.605053e+00
    168 user10168 13.345877503 2.89285313 1.0757164662 -1.231852e-01
    169 user10169 1.889729924 -5.50881694 -1.0164923354 -1.537234e-01
    170 user10170 3.937445558 -0.38394694 -0.3754646109 -3.230843e-01
    171 user10171 3.587430379 1.09740884 -1.4005839262 -1.462886e+00
    172 user10172 8.995210899 1.16659193 -0.1122889930 -1.091378e+01
    173 user10173 3.798546733 -2.95603145 0.3507019083 -1.244600e+00
    174 user10174 0.170865770 -4.59165794 1.4111553051 -8.637804e-02
    175 user10175 0.081462760 2.98390275 -0.6603035039 -1.734059e+00
    176 user10176 0.872896822 -0.43221067 -1.1241748118 -1.212072e+00
    177 user10177 3.886330144 -0.07644267 0.4383924895 -1.335719e+00
    178 user10178 1.023572862 -2.37123095 -0.0433282799 -1.813985e+00
    179 user10179 1.611271082 4.65147308 -0.0212013679 -2.423224e+00
    180 user10180 0.057329978 -2.30171965 0.3903862461 -7.684852e+00
    181 user10181 0.523856067 2.07646985 1.0099334697 -7.687558e-01
    182 user10182 1.843086174 2.10950540 0.3039564231 -1.818155e+00
    183 user10183 9.056955294 -0.75295081 1.4953156640 -1.855772e-02
    184 user10184 0.142281773 0.15983554 0.1993579131 -2.918676e+01
    185 user10185 9.385542983 -1.17838400 0.0051949707 -9.301512e-01
    186 user10186 0.491943919 0.17284860 -1.8931130873 -9.100480e+00
    187 user10187 0.719516147 -4.45318050 -1.2805959135 -3.387433e-02
    188 user10188 0.825286551 -1.54467974 -2.1959629207 -1.324573e+00
    189 user10189 8.224644858 -0.01828957 1.2563251201 -1.379660e-02
    190 user10190 2.495528005 2.27066073 0.0665816166 -3.562708e-01
    191 user10191 0.237977269 -1.50078775 -1.6744760267 -5.454027e+00
    192 user10192 15.926713826 -0.01878926 -1.8169001401 -3.223917e-01
    193 user10193 0.257568511 -6.06403102 -3.3367132099 -3.453196e+00
    194 user10194 0.629837081 0.55808402 -0.0525288404 -2.504983e-01
    195 user10195 1.510459745 -5.64923866 0.3700592775 -1.000297e-01
    196 user10196 2.902311410 2.98050798 2.3719084496 -2.465149e-02
    197 user10197 2.669984668 0.56234683 1.3418648140 -3.427030e-01
    198 user10198 1.855931857 2.68053851 0.3338445956 -1.901908e+00
    199 user10199 0.536883617 0.81460385 -0.3533756333 -1.693830e-01
    200 user10200 3.203421701 -1.70510793 0.5300520070 -5.419598e-01
    201 user10201 0.194923046 1.23008399 -0.1563108585 -5.103193e+00
    202 user10202 0.221608139 2.14532397 0.5976753776 -4.011293e+00
    203 user10203 1.103481924 0.67229760 -0.6686057616 -3.424638e+03
    204 user10204 5.560651045 1.44847596 0.0510426459 -1.522044e+00
    205 user10205 0.303474923 -1.58580962 -1.7280201730 -3.855258e+00
    206 user10206 0.423534621 0.57967657 2.0684524893 -3.070049e-01
    207 user10207 0.572545211 -1.78661125 -0.7353885824 -5.484629e+01
    208 user10208 1.696365834 4.82984968 -0.0154633777 -1.465035e+01
    209 user10209 11.798911686 4.11587146 2.0165582332 -6.099516e-02
    210 user10210 0.399566133 -6.35464321 -3.4123652923 -4.723582e-01
    211 user10211 5.688773350 4.75789546 -0.1987636777 -1.080315e+00
    212 user10212 0.068712575 3.50149073 1.3435936096 -3.418150e-01
    213 user10213 23.527812604 0.30114352 -0.6358650310 -1.208094e+01
    214 user10214 -9.221362122 -0.34196483 -0.9722741818 -4.206845e-01
    215 user10215 12.713642076 1.09913535 1.5720167793 -1.025218e+00
    216 user10216 3.325818024 1.80432592 -1.2749359224 -5.656546e+00
    217 user10217 3.922832845 4.39676020 0.8376757027 -6.260836e-01
    218 user10218 0.083388707 -5.18988342 -2.5887659652 -2.013567e-01
    219 user10219 0.067115960 -1.15506480 0.4502249074 -1.467499e+00
    220 user10220 0.803184436 -2.28349535 0.2792382872 -2.805655e+00
    221 user10221 0.353505263 0.34579514 1.0737673602 -3.255602e+00
    222 user10222 0.406254728 -1.91670879 -1.1820508321 -1.769164e+00
    223 user10223 -7.545499009 -1.92086140 0.2953328333 -2.185706e+01
    224 user10224 2.851440446 4.90371606 0.5149565552 -1.056964e-01
    225 user10225 26.532063812 4.54445957 1.3099128000 -2.365799e-02
    226 user10226 0.325571117 -3.80009857 -1.4598253657 -4.712495e+00
    227 user10227 1.474598490 0.16678330 -0.3672158387 -1.442880e-01
    228 user10228 129.885663847 -0.16013840 -1.7839679668 -9.278941e-01
    229 user10229 1.178758671 -1.11469888 2.3743439349 -4.024226e-01
    230 user10230 1.701087543 -2.22848009 -0.8678909485 -6.530714e-01
    231 user10231 0.163096293 7.06340354 3.4982666648 -6.021090e-01
    232 user10232 19.955259022 0.97924825 -0.2301717238 -1.208815e+00
    233 user10233 0.473858099 -0.18746517 0.8748355164 -5.400522e-01
    234 user10234 0.086029478 -4.35334033 1.2724660850 -1.461197e+01
    235 user10235 28.729233188 3.81601648 0.6749087331 -7.035341e-01
    236 user10236 0.276020168 1.01250671 1.1885309981 -2.127505e+00
    237 user10237 2.945534988 -3.30627382 -1.7907518904 -9.494454e+00
    238 user10238 1.298335296 5.29353479 1.5786208551 -3.713632e+00
    239 user10239 0.226959655 -1.36014135 0.6935488732 -1.993761e+00
    240 user10240 2.398748960 -0.91323991 -0.7437016561 -3.457009e-02
    241 user10241 1.221207844 4.20174514 -0.7276600903 -2.363698e+00
    242 user10242 30.171144519 3.22782947 -0.8181086986 -1.708359e+00
    243 user10243 0.391375206 -5.17722819 -1.2857903965 -1.548908e+01
    244 user10244 6.309835970 5.63357653 0.2802427939 -7.095716e-01
    245 user10245 7.715252167 -2.64275268 -0.1349878928 -9.598665e+00
    246 user10246 0.202239467 -1.76409122 -2.6469877703 -7.813243e-01
    247 user10247 0.267388339 -5.75621815 -0.0111493255 -3.785462e-01
    248 user10248 10.275253665 0.78711360 2.8294424739 -4.504677e-02
    249 user10249 9.033732548 3.24837322 1.4350204653 -2.772381e-01
    250 user10250 0.613316715 -3.80108616 1.7899590225 -2.191290e-01
     bounded_above_and_below_6 unbounded_7 unbounded_8 categorical_9
    1 5.259401e-04 1.527378170 5.88738153 C
    2 1.000000e+00 0.353243396 -3.70455630 B
    3 1.250695e-01 0.370120772 -0.86386814 A
    4 9.909147e-01 -0.014685984 -1.35735687 B
    5 4.333583e-01 -0.873845580 0.33385397 A
    6 9.999826e-01 0.405301525 -4.42698502 B
    7 9.978803e-01 0.086597151 0.04604133 C
    8 6.137746e-01 -0.410604506 -0.38752641 C
    9 1.339759e-01 -0.381732744 -0.59004596 B
    10 1.000000e+00 2.542814995 -1.10668517 B
    11 9.982847e-01 -0.690687344 -4.29641133 B
    12 8.238650e-06 -1.590644400 3.44001875 C
    13 6.400949e-01 1.176694092 1.32023954 A
    14 8.210576e-01 -1.126250829 -2.49169106 A
    15 4.278342e-01 -1.874130796 -1.83783377 A
    16 3.467025e-01 -0.503647665 0.98345754 B
    17 9.776825e-01 1.762345552 0.43036477 C
    18 5.234147e-02 0.430416421 0.84482979 B
    19 6.788508e-01 0.410307298 -0.93085776 A
    20 7.547631e-03 0.678007577 2.76840630 C
    21 9.897306e-01 0.167009017 0.38765532 C
    22 9.964036e-01 -0.288086154 -2.68742371 B
    23 7.315333e-01 -0.127662503 -2.88031740 A
    24 2.336961e-02 -0.350874073 -0.74453771 C
    25 4.936128e-02 -0.788417395 1.00535314 A
    26 7.925209e-01 2.042523158 2.41703428 B
    27 1.671108e-02 1.044982897 5.70938977 C
    28 7.867983e-01 0.609194673 1.76482173 B
    29 2.250452e-01 -1.031002715 -1.43004548 B
    30 7.550066e-04 -0.428546195 0.45196588 B
    31 5.883580e-01 1.062375076 1.77055993 B
    32 3.262633e-03 -0.875996373 1.22974256 A
    33 6.146004e-03 1.121015172 1.84064151 A
    34 9.998916e-01 1.533006140 -1.30837565 B
    35 1.092540e-03 -1.316045445 1.56722532 C
    36 1.000000e+00 2.381838530 -7.50853425 B
    37 2.677213e-04 -0.077848563 4.10395264 A
    38 3.665459e-09 -1.025607842 4.72257695 C
    39 9.999998e-01 -0.681845251 -6.31681189 A
    40 7.821991e-01 0.744400390 -0.40695810 A
    41 4.409764e-01 -1.593471747 0.96213201 B
    42 9.887613e-01 1.209294842 -2.57719956 C
    43 2.980634e-03 -0.186125797 2.79826651 A
    44 1.046048e-04 -1.521187134 1.14325279 A
    45 1.146984e-01 -0.466517087 1.81647848 C
    46 9.510433e-01 0.326105088 -2.72306470 B
    47 7.881862e-01 0.074951151 -2.31297359 A
    48 5.736165e-01 -0.994021854 -2.02778961 B
    49 4.197190e-06 -1.940603629 1.90595223 A
    50 1.233762e-01 1.653432138 4.24642955 C
    51 9.615830e-01 -0.465082711 0.65414885 C
    52 8.851307e-01 -0.542779659 -3.54999088 A
    53 6.396741e-12 0.555371386 4.29062403 C
    54 2.977918e-01 0.465120519 0.83857850 B
    55 2.130015e-11 -1.069363601 7.05772414 C
    56 2.033553e-02 -2.114199367 -1.39798695 A
    57 2.782532e-04 -0.386431423 1.99928934 C
    58 3.670824e-01 -1.311262047 -2.08690677 A
    59 9.945033e-01 -0.041908260 -1.84079902 B
    60 6.386784e-03 -1.820447962 -0.64277936 C
    61 1.000000e+00 1.456916044 -4.20008757 A
    62 1.000000e+00 -0.609387265 -9.02258939 B
    63 2.011238e-01 -0.037715776 -1.80549517 B
    64 3.058413e-01 0.322575430 4.07873298 C
    65 8.337828e-01 -0.585364019 -2.33362696 B
    66 1.110774e-09 -0.675516031 4.51715859 A
    67 2.589344e-05 -0.663456710 4.43802485 C
    68 1.912377e-02 1.619974269 2.64460967 C
    69 3.228178e-01 -0.467646589 -1.36129128 A
    70 4.237767e-01 2.099733273 1.44155446 B
    71 9.503267e-01 1.013298431 -0.54825925 B
    72 9.977866e-01 -0.308637487 -2.71930592 A
    73 7.562094e-01 0.902358820 0.76559454 B
    74 3.157822e-05 -1.311593631 0.73564613 A
    75 9.997398e-01 -2.154412670 -5.05705986 C
    76 2.761480e-01 0.019359848 -0.04712709 B
    77 7.288213e-01 -1.308560961 -1.88923520 B
    78 9.956773e-01 -2.075489862 -6.56601675 A
    79 9.999994e-01 -3.457356922 -8.94137674 A
    80 8.795554e-01 1.036399175 -3.15443874 B
    81 8.513897e-01 -2.679336838 0.08237272 C
    82 2.869911e-01 -0.024354913 2.74146093 C
    83 2.342102e-02 0.062274717 0.88148755 B
    84 9.997274e-01 1.938354314 -1.17430332 B
    85 9.999003e-01 0.978332853 0.27545797 B
    86 6.539943e-03 1.364049630 6.43039311 C
    87 3.383138e-01 -0.423368923 0.64691770 C
    88 9.282273e-01 0.952943258 -1.42101038 A
    89 9.795171e-01 -0.658230445 -2.36043645 C
    90 3.765626e-02 1.479683309 0.90572860 A
    91 7.522971e-04 -2.438749606 1.32312234 A
    92 1.572112e-04 0.999075641 3.73735849 C
    93 8.502087e-01 0.184408271 -0.63509876 B
    94 2.779197e-01 -1.044912745 -3.14632759 B
    95 9.982666e-01 -0.341730160 0.12952170 A
    96 7.411217e-02 1.650973282 1.63478410 B
    97 9.991731e-01 0.807484571 -0.06371224 C
    98 4.506934e-08 -0.159898518 3.60175540 A
    99 1.347759e-05 -0.233294801 5.38235445 B
    100 7.131593e-01 -0.091588525 0.69761051 B
    101 2.760650e-01 1.426278340 2.78231733 A
    102 5.821427e-02 0.293176337 0.64539051 B
    103 7.836547e-03 -0.448353918 1.53985199 C
    104 6.291190e-03 -0.361128939 3.92555427 C
    105 9.999995e-01 1.720203303 0.17799806 C
    106 2.582211e-05 -1.354699497 1.96497558 A
    107 9.278488e-01 1.064384723 -2.16500301 B
    108 3.677885e-01 -0.426461924 -1.70270307 A
    109 5.449978e-07 0.358064238 2.34935786 A
    110 5.449683e-01 0.011711442 -1.93659721 B
    111 2.889103e-07 0.062837850 2.05160325 A
    112 2.307192e-05 -0.134479299 4.35132368 A
    113 9.164041e-01 1.384531611 1.61450156 B
    114 1.766609e-04 -1.774782128 -0.97295002 A
    115 2.504159e-12 0.235485878 5.38394537 B
    116 2.518712e-02 -0.193975843 -0.03532528 B
    117 6.635546e-01 -0.088857336 0.26167674 A
    118 9.999975e-01 1.977821308 -2.17210060 C
    119 1.709217e-02 -1.822007419 -1.25424480 C
    120 9.457799e-01 0.447724893 -0.26410649 B
    121 7.215907e-01 -1.216078152 -2.73205004 A
    122 9.830194e-01 0.578922176 -2.75243085 B
    123 3.079505e-03 -0.761214311 0.24234346 A
    124 1.000000e+00 0.127835807 -5.43378035 A
    125 5.621895e-01 0.758821717 1.03946560 C
    126 9.788406e-11 -1.408095103 5.97141762 A
    127 8.577737e-01 2.412866508 1.33373493 B
    128 4.948111e-02 -0.519938583 2.24550048 C
    129 8.763176e-01 -0.918329853 -3.11584672 B
    130 1.055961e+00 -0.576802584 -6.13185524 B
    131 9.999984e-01 2.529410443 -2.96409656 B
    132 9.999999e-01 -1.613224115 -5.89073550 A
    133 4.455912e-01 0.018006604 0.56785835 C
    134 8.609340e-01 1.426088410 -1.59279239 B
    135 5.269791e-05 -0.342570321 3.11682485 C
    136 8.138964e-01 0.229099685 -1.02935637 A
    137 6.321975e-01 2.068944344 3.16128633 B
    138 6.212128e-05 -1.273647742 4.03246372 A
    139 9.199654e-01 1.845622139 -0.38145870 B
    140 9.498426e-01 1.010396690 -3.53645581 B
    141 9.446785e-11 -1.123397293 3.62577134 C
    142 9.999632e-01 0.005131417 -1.16021639 B
    143 9.999963e-01 2.280436255 -0.51561036 B
    144 4.923887e-01 -0.362292203 -1.26000008 A
    145 8.813739e-01 0.600025468 -2.63843998 B
    146 3.287122e-01 0.485871889 0.82696503 B
    147 9.999824e-01 -0.613328088 -3.89362522 A
    148 4.034627e-03 -0.393612116 1.60964385 A
    149 1.500395e-03 -0.932709836 1.29120944 A
    150 6.718172e-01 0.685142213 -0.87520409 B
    151 6.208927e-01 -1.528226281 -5.82487398 A
    152 1.939745e-01 -0.123386746 -1.24982280 A
    153 4.694966e-01 0.758267868 -0.91732815 B
    154 9.946869e-01 -0.240646757 -0.89396782 B
    155 9.466046e-02 -1.301200824 0.16147468 A
    156 9.995612e-01 1.730516837 0.39262093 B
    157 9.884990e-01 1.175021074 -0.78502199 B
    158 7.602286e-02 -0.689429485 1.87459692 C
    159 7.439418e-01 -1.523415120 -4.26863568 A
    160 9.810042e-01 -0.826295628 -3.56579328 B
    161 4.785178e-02 -0.275105648 2.57489553 A
    162 2.437269e-02 -0.300864635 0.44916350 B
    163 7.484977e-01 -0.229733708 -1.84133735 B
    164 8.631983e-01 -0.032105969 -1.17598736 C
    165 8.930081e-03 -2.179178441 0.14815316 A
    166 8.905373e-01 0.917811974 0.62968986 B
    167 9.999997e-01 0.835089843 -5.64960186 A
    168 9.803094e-01 -1.509798159 -2.74586394 B
    169 9.514482e-01 1.042909384 -1.44844103 C
    170 6.080931e-02 -0.741422226 -0.19240528 C
    171 3.770412e-01 -0.007298737 1.23569615 C
    172 9.816784e-01 -0.303681686 0.38185847 C
    173 9.999302e-01 -0.186427542 -2.29119150 B
    174 1.000000e+00 2.542787859 -1.70050654 B
    175 1.450123e-05 0.693628563 3.30212082 B
    176 8.999235e-01 -0.094026903 0.61953691 C
    177 4.221177e-01 0.547335800 0.82304946 A
    178 2.045698e-01 -0.275512436 1.22244745 C
    179 3.009800e-03 0.381476912 4.20523670 A
    180 9.998072e-01 0.294588347 -4.45617852 A
    181 3.321398e-02 -0.040446488 1.67778461 B
    182 9.576097e-02 -1.474351395 0.11666206 B
    183 6.021629e-03 0.215335922 2.43946921 B
    184 9.983275e-01 -0.249945057 -3.66295653 A
    185 3.291372e-02 0.277442767 1.21515501 A
    186 3.180165e-01 -0.763255238 -0.04595567 A
    187 9.998837e-01 1.531918713 -0.58772208 C
    188 8.036269e-01 -0.295616125 0.44986965 C
    189 5.175829e-01 -0.526072173 -1.80519609 B
    190 2.292121e-01 0.352870073 1.37489068 A
    191 6.778176e-01 -0.343346023 -0.43211269 C
    192 9.622618e-01 1.199775686 2.22856841 C
    193 9.999603e-01 0.644249452 -2.05579563 C
    194 5.999294e-02 -0.032531256 -0.81190835 A
    195 9.999997e-01 2.503401369 1.20213264 B
    196 4.347189e-01 -0.303998134 -2.29884888 B
    197 8.680973e-01 -1.010747145 -1.17513020 C
    198 1.182893e-05 0.185943882 3.58688795 A
    199 7.743040e-01 -0.597866495 -3.82788697 A
    200 9.515264e-01 0.802209123 0.69047719 C
    201 9.899178e-01 0.799440995 -0.89877045 A
    202 4.058402e-01 1.162804325 3.89857391 B
    203 5.198188e-03 -1.658942214 1.19853969 A
    204 3.125981e-06 -1.471199687 1.48640807 A
    205 9.759137e-01 -0.650601695 -3.21076739 A
    206 9.986857e-01 0.212034688 -3.06256756 B
    207 7.168594e-01 0.281655805 2.22638147 A
    208 4.280174e-03 -1.393814873 -0.40987539 A
    209 3.595799e-01 0.233458912 0.18601182 A
    210 9.999745e-01 2.057231442 -0.32929667 B
    211 4.216930e-02 -1.427678987 1.57162789 A
    212 8.965397e-01 0.382238258 -2.81016687 B
    213 6.293537e-01 -2.648665846 -3.30469550 A
    214 6.797256e-01 1.302999195 0.46963803 B
    215 9.999818e-01 -1.429800170 -5.04367021 A
    216 1.071708e-05 -0.400498787 3.99538167 A
    217 1.913905e-01 -1.120751116 1.11710992 C
    218 9.641708e-01 1.445506253 0.64415116 C
    219 9.999959e-01 -0.222319825 -3.67963848 B
    220 9.972638e-01 0.878677684 -0.72040510 C
    221 1.000000e+00 -0.267381828 -6.28183441 A
    222 9.649574e-01 -0.963918984 -4.32156467 A
    223 1.000000e+00 1.243977103 -1.98480148 A
    224 3.105808e-15 -0.234357279 5.33619086 B
    225 2.495929e-01 0.048766220 1.65403216 B
    226 9.314981e-01 -0.938610920 -4.60565339 A
    227 9.133958e-01 0.224474215 -1.55741444 B
    228 2.439535e-06 -1.309455641 4.26351817 C
    229 1.895697e-02 0.496253212 1.06468251 C
    230 9.216237e-01 -0.674831760 -0.59165117 C
    231 1.020146e-01 1.289415055 1.41064894 B
    232 4.988619e-01 -0.987505351 -0.84973796 C
    233 5.838705e-01 -0.141629368 -1.49876258 B
    234 9.477671e-01 1.607055368 0.68459616 B
    235 2.198709e-05 -0.723501662 3.60842986 C
    236 1.190910e-01 1.072666179 2.02039399 B
    237 5.882773e-02 0.719163013 5.43524702 C
    238 5.161093e-01 -1.035478541 -1.31410940 B
    239 1.262476e-01 -1.541882408 -3.87092324 A
    240 6.391260e-02 1.940371810 4.29272611 B
    241 2.797724e-14 0.551876542 9.07203811 C
    242 3.328070e-05 -1.919350529 1.91000986 C
    243 9.999377e-01 0.716034901 -2.40349616 B
    244 2.029122e-07 0.052458871 5.18462309 C
    245 2.576975e-01 -0.926542641 0.99535813 C
    246 2.241921e-01 0.206820987 -0.23644545 C
    247 9.999985e-01 2.792584066 -0.21183446 B
    248 9.969750e-01 0.329724857 -0.89919518 B
    249 1.612070e-02 -0.746986370 3.06693473 B
    250 9.995410e-01 1.412276163 -2.24014224 B
    >
    > data(FI_true)
    > continuous_cells_imputed <- is.na(FI_test[,2:8])
    > continuous_imputed_values <- imputed_data[,2:8][continuous_cells_imputed]
    > continuous_true_values <- FI_true[,2:8][continuous_cells_imputed]
    > rmse <- sqrt(median((continuous_imputed_values-continuous_true_values)^2))
    > rmse
    [1] 0.7930436
    > median_relative_error <- median( abs((continuous_imputed_values - continuous_true_values) /
    + continuous_true_values) )
    > median_relative_error
    [1] 0.8146963
    >
    > imputed_data_column_means <- FI_test[,2:8]
    > for(j in 1:ncol(imputed_data_column_means)) {
    + imputed_data_column_means[is.na(imputed_data_column_means[,j]),j] <-
    + mean(imputed_data_column_means[,j], na.rm=TRUE)
    + }
    > cont_imputed_vals_col_means <- imputed_data_column_means[continuous_cells_imputed]
    > rmse_column_means <- sqrt(median((cont_imputed_vals_col_means-continuous_true_values)^2))
    > rmse_column_means # much larger error than using FastImputation
    [1] 1.769767
    > median_relative_error_col_means <- median( abs((cont_imputed_vals_col_means -
    + continuous_true_values) / continuous_true_values) )
    > median_relative_error_col_means # larger error than using FastImputation
    [1] 0.9989027
    >
    > # Let's look at the accuracy of the imputation of the categorical variable
    > library("caret")
    Loading required package: lattice
    Loading required package: ggplot2
    > categorical_rows_imputed <- which(is.na(FI_test$categorical_9))
    > confusionMatrix(data=imputed_data$categorical_9[categorical_rows_imputed],
    + reference=FI_true$categorical_9[categorical_rows_imputed])
    Error: `data` and `reference` should be factors with the same levels.
    Execution halted
Flavor: r-devel-linux-x86_64-debian-clang

Version: 2.0
Check: tests
Result: ERROR
     Running 'testthat.R' [5s/7s]
    Running the tests in 'tests/testthat.R' failed.
    Complete output:
     > library("testthat")
     > library("FastImputation")
     >
     > test_check("FastImputation")
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
     :
     --- package (from environment) ---
     FastImputation
     --- call from context ---
     TrainFastImputation(x = bad_array)
     --- call from argument ---
     if ("data.frame" != class(x)) stop("Training data must be in a data.frame")
     --- R stacktrace ---
     where 1: TrainFastImputation(x = bad_array)
     where 2: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     where 3: withCallingHandlers({
     code
     NULL
     }, error = function(cnd) {
     if (can_entrace(cnd)) {
     cnd <- cnd_entrace(cnd)
     }
     return_from(env, cnd)
     })
     where 4: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),
     ...)
     where 5: quasi_capture(enquo(object), label, capture_error, entrace = TRUE)
     where 6 at testthat/test_TrainFastImputation.R#30: expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     where 7: eval(code, test_env)
     where 8: eval(code, test_env)
     where 9: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 10: doTryCatch(return(expr), name, parentenv, handler)
     where 11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 12: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 13: doTryCatch(return(expr), name, parentenv, handler)
     where 14: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 15: tryCatchList(expr, classes, parentenv, handlers)
     where 16: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 17: test_code(desc, code, env = parent.frame())
     where 18 at testthat/test_TrainFastImputation.R#29: test_that("TrainFastImputation catches bad input", {
     expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_upper),
     "Column 4 does not respect the upper bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_lower),
     "Column 7 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_order),
     "Column 5 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = warning_df, categorical = good_categorical_2),
     "Too few continuous variables.")
     })
     where 19: eval(code, test_env)
     where 20: eval(code, test_env)
     where 21: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 22: doTryCatch(return(expr), name, parentenv, handler)
     where 23: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 24: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 25: doTryCatch(return(expr), name, parentenv, handler)
     where 26: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 27: tryCatchList(expr, classes, parentenv, handlers)
     where 28: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 29: test_code(NULL, exprs, env)
     where 30: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     where 31: force(code)
     where 32: doWithOneRestart(return(expr), restart)
     where 33: withOneRestart(expr, restarts[[1L]])
     where 34: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 35: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,
     {
     reporter$start_file(basename(path))
     lister$start_file(basename(path))
     source_file(path, new.env(parent = env), chdir = TRUE,
     wrap = wrap)
     reporter$.end_context()
     reporter$end_file()
     })
     where 36: FUN(X[[i]], ...)
     where 37: lapply(paths, test_file, env = env, reporter = current_reporter,
     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     where 38: force(code)
     where 39: doWithOneRestart(return(expr), restart)
     where 40: withOneRestart(expr, restarts[[1L]])
     where 41: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 42: with_reporter(reporter = current_reporter, results <- lapply(paths,
     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,
     load_helpers = FALSE, wrap = wrap))
     where 43: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 44: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,
     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,
     wrap = wrap)
     where 45: test_package_dir(package = package, test_path = test_path, filter = filter,
     reporter = reporter, ..., stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 46: test_check("FastImputation")
    
     --- value of length: 2 type: logical ---
     [1] TRUE TRUE
     --- function from context ---
     function (x, constraints = list(), idvars, categorical)
     {
     if ("data.frame" != class(x))
     stop("Training data must be in a data.frame")
     x <- UnfactorColumns(x)
     if (missing(categorical)) {
     cols_categorical <- numeric(0)
     }
     else {
     if (is.numeric(categorical)) {
     cols_categorical <- sort(categorical)
     if (any(cols_categorical > ncol(x)))
     stop("Categorical column specified by index that doesn't exist.")
     }
     else {
     cols_categorical <- as.vector(sort(sapply(categorical,
     function(col_name) {
     col_i <- which(names(x) == col_name)
     if (0 == length(col_i))
     stop("Categorical column specified by name that doesn't exist.")
     return(col_i)
     })))
     }
     }
     if (0 == length(constraints)) {
     filled_constraints_in_x <- replicate(ncol(x), list())
     }
     else {
     filled_constraints_in_x <- sapply(1:ncol(x), function(i_col) {
     is_each_constraint_for_this_col <- sapply(constraints,
     function(this_cons) {
     return(this_cons[[1]] == i_col | any((names(x) ==
     this_cons[[1]]) == i_col))
     })
     if (0 == sum(is_each_constraint_for_this_col)) {
     return(list())
     }
     else if (1 == sum(is_each_constraint_for_this_col)) {
     return(constraints[[which(is_each_constraint_for_this_col)]][[2]])
     }
     else {
     warning("More than one constraint specified for variable ",
     i_col)
     return(constraints[[max(which(is_each_constraint_for_this_col))]][[2]])
     }
     })
     }
     if (missing(idvars)) {
     cols_to_ignore <- numeric(0)
     y <- x
     filled_constraints_in_y <- filled_constraints_in_x
     }
     else {
     if (is.numeric(idvars)) {
     cols_to_ignore <- idvars
     }
     else {
     cols_to_ignore <- as.vector(sort(sapply(idvars, function(col_name) which(names(x) ==
     col_name))))
     }
     y <- x[, -cols_to_ignore]
     filled_constraints_in_y <- filled_constraints_in_x[-cols_to_ignore]
     if (length(cols_categorical) > 0) {
     for (cti in rev(sort(cols_to_ignore))) {
     cols_categorical[cols_categorical > cti] <- cols_categorical[cols_categorical >
     cti] - 1
     }
     }
     }
     cols_in_y_bound_to_intervals <- which(sapply(filled_constraints_in_y,
     function(this_cons) !(is.null(this_cons$upper) && is.null(this_cons$lower))))
     for (i in cols_in_y_bound_to_intervals) {
     if (!is.null(filled_constraints_in_y[[i]]$lower)) {
     if (any(y[, i] < filled_constraints_in_y[[i]]$lower,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the lower bound specified.")
     }
     }
     if (!is.null(filled_constraints_in_y[[i]]$upper)) {
     if (any(y[, i] > filled_constraints_in_y[[i]]$upper,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the upper bound specified.")
     }
     }
     }
     for (this_col in cols_in_y_bound_to_intervals) {
     y[, this_col] <- NormalizeBoundedVariable(y[, this_col],
     constraints = filled_constraints_in_y[[this_col]])
     }
     if (length(cols_categorical) > 0) {
     categories <- lapply(cols_categorical, function(i) {
     u <- unique(y[, i])
     return(u[!is.na(u)])
     })
     total_one_hot_dummies <- sum(sapply(categories, length))
     total_not_categorical <- ncol(y) - length(cols_categorical)
     if (total_not_categorical < 2)
     stop("Too few continuous variables.")
     if (total_one_hot_dummies > total_not_categorical)
     warning("More categories in categorical variables than continuous variables. Performance will suffer.")
     y_categorical <- y[, cols_categorical, drop = FALSE]
     z <- y[, -cols_categorical]
     z <- data.frame(z, matrix(NA_real_, nrow = nrow(z), ncol = total_one_hot_dummies))
     current_col_to_fill <- 1
     while (current_col_to_fill < total_one_hot_dummies) {
     for (i in 1:length(categories)) {
     for (j in 1:length(categories[[i]])) {
     z[, total_not_categorical + current_col_to_fill] <- ifelse(y_categorical[,
     i] == categories[[i]][j], 1, -1)
     current_col_to_fill <- current_col_to_fill +
     1
     }
     }
     }
     }
     else {
     categories <- list()
     z <- y
     }
     FastImputationMeans <- colMeans(z, na.rm = TRUE)
     FastImputationCovariance <- CovarianceWithMissing(z)
     min_size_eigenvalue <- 0.01
     eg <- eigen(FastImputationCovariance)$values
     if (min(eg) < min_size_eigenvalue) {
     eps_ev <- min_size_eigenvalue/abs(eg[1])
     FastImputationCovariance <- Matrix::nearPD(FastImputationCovariance,
     do2eigen = TRUE, posd.tol = eps_ev)$mat
     }
     patterns <- list(FI_var_names = names(x), FI_means = FastImputationMeans,
     FI_covariance = FastImputationCovariance, FI_constraints = filled_constraints_in_y,
     FI_cols_to_ignore = cols_to_ignore, FI_cols_bound_to_intervals = cols_in_y_bound_to_intervals,
     FI_cols_categorical = cols_categorical, FI_categories = categories)
     class(patterns) <- "FastImputationPatterns"
     return(patterns)
     }
     <bytecode: 0x3686cf0>
     <environment: namespace:FastImputation>
     --- function search by body ---
     Function TrainFastImputation in namespace FastImputation has this body.
     ----------- END OF FAILURE REPORT --------------
     -- 1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.
     `TrainFastImputation(x = bad_array)` threw an error with unexpected message.
     Expected match: "Training data must be in a data.frame"
     Actual message: "the condition has length > 1"
     Backtrace:
     1. testthat::expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     6. FastImputation::TrainFastImputation(x = bad_array)
    
     == testthat results ===========================================================
     [ OK: 75 | SKIPPED: 1 | WARNINGS: 1 | FAILED: 1 ]
     1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.R#30)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-devel-linux-x86_64-debian-clang

Version: 2.0
Check: tests
Result: ERROR
     Running ‘testthat.R’ [4s/6s]
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library("testthat")
     > library("FastImputation")
     >
     > test_check("FastImputation")
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
     :
     --- package (from environment) ---
     FastImputation
     --- call from context ---
     TrainFastImputation(x = bad_array)
     --- call from argument ---
     if ("data.frame" != class(x)) stop("Training data must be in a data.frame")
     --- R stacktrace ---
     where 1: TrainFastImputation(x = bad_array)
     where 2: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     where 3: withCallingHandlers({
     code
     NULL
     }, error = function(cnd) {
     if (can_entrace(cnd)) {
     cnd <- cnd_entrace(cnd)
     }
     return_from(env, cnd)
     })
     where 4: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),
     ...)
     where 5: quasi_capture(enquo(object), label, capture_error, entrace = TRUE)
     where 6 at testthat/test_TrainFastImputation.R#30: expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     where 7: eval(code, test_env)
     where 8: eval(code, test_env)
     where 9: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 10: doTryCatch(return(expr), name, parentenv, handler)
     where 11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 12: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 13: doTryCatch(return(expr), name, parentenv, handler)
     where 14: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 15: tryCatchList(expr, classes, parentenv, handlers)
     where 16: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 17: test_code(desc, code, env = parent.frame())
     where 18 at testthat/test_TrainFastImputation.R#29: test_that("TrainFastImputation catches bad input", {
     expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_upper),
     "Column 4 does not respect the upper bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_lower),
     "Column 7 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_order),
     "Column 5 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = warning_df, categorical = good_categorical_2),
     "Too few continuous variables.")
     })
     where 19: eval(code, test_env)
     where 20: eval(code, test_env)
     where 21: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 22: doTryCatch(return(expr), name, parentenv, handler)
     where 23: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 24: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 25: doTryCatch(return(expr), name, parentenv, handler)
     where 26: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 27: tryCatchList(expr, classes, parentenv, handlers)
     where 28: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 29: test_code(NULL, exprs, env)
     where 30: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     where 31: force(code)
     where 32: doWithOneRestart(return(expr), restart)
     where 33: withOneRestart(expr, restarts[[1L]])
     where 34: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 35: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,
     {
     reporter$start_file(basename(path))
     lister$start_file(basename(path))
     source_file(path, new.env(parent = env), chdir = TRUE,
     wrap = wrap)
     reporter$.end_context()
     reporter$end_file()
     })
     where 36: FUN(X[[i]], ...)
     where 37: lapply(paths, test_file, env = env, reporter = current_reporter,
     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     where 38: force(code)
     where 39: doWithOneRestart(return(expr), restart)
     where 40: withOneRestart(expr, restarts[[1L]])
     where 41: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 42: with_reporter(reporter = current_reporter, results <- lapply(paths,
     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,
     load_helpers = FALSE, wrap = wrap))
     where 43: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 44: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,
     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,
     wrap = wrap)
     where 45: test_package_dir(package = package, test_path = test_path, filter = filter,
     reporter = reporter, ..., stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 46: test_check("FastImputation")
    
     --- value of length: 2 type: logical ---
     [1] TRUE TRUE
     --- function from context ---
     function (x, constraints = list(), idvars, categorical)
     {
     if ("data.frame" != class(x))
     stop("Training data must be in a data.frame")
     x <- UnfactorColumns(x)
     if (missing(categorical)) {
     cols_categorical <- numeric(0)
     }
     else {
     if (is.numeric(categorical)) {
     cols_categorical <- sort(categorical)
     if (any(cols_categorical > ncol(x)))
     stop("Categorical column specified by index that doesn't exist.")
     }
     else {
     cols_categorical <- as.vector(sort(sapply(categorical,
     function(col_name) {
     col_i <- which(names(x) == col_name)
     if (0 == length(col_i))
     stop("Categorical column specified by name that doesn't exist.")
     return(col_i)
     })))
     }
     }
     if (0 == length(constraints)) {
     filled_constraints_in_x <- replicate(ncol(x), list())
     }
     else {
     filled_constraints_in_x <- sapply(1:ncol(x), function(i_col) {
     is_each_constraint_for_this_col <- sapply(constraints,
     function(this_cons) {
     return(this_cons[[1]] == i_col | any((names(x) ==
     this_cons[[1]]) == i_col))
     })
     if (0 == sum(is_each_constraint_for_this_col)) {
     return(list())
     }
     else if (1 == sum(is_each_constraint_for_this_col)) {
     return(constraints[[which(is_each_constraint_for_this_col)]][[2]])
     }
     else {
     warning("More than one constraint specified for variable ",
     i_col)
     return(constraints[[max(which(is_each_constraint_for_this_col))]][[2]])
     }
     })
     }
     if (missing(idvars)) {
     cols_to_ignore <- numeric(0)
     y <- x
     filled_constraints_in_y <- filled_constraints_in_x
     }
     else {
     if (is.numeric(idvars)) {
     cols_to_ignore <- idvars
     }
     else {
     cols_to_ignore <- as.vector(sort(sapply(idvars, function(col_name) which(names(x) ==
     col_name))))
     }
     y <- x[, -cols_to_ignore]
     filled_constraints_in_y <- filled_constraints_in_x[-cols_to_ignore]
     if (length(cols_categorical) > 0) {
     for (cti in rev(sort(cols_to_ignore))) {
     cols_categorical[cols_categorical > cti] <- cols_categorical[cols_categorical >
     cti] - 1
     }
     }
     }
     cols_in_y_bound_to_intervals <- which(sapply(filled_constraints_in_y,
     function(this_cons) !(is.null(this_cons$upper) && is.null(this_cons$lower))))
     for (i in cols_in_y_bound_to_intervals) {
     if (!is.null(filled_constraints_in_y[[i]]$lower)) {
     if (any(y[, i] < filled_constraints_in_y[[i]]$lower,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the lower bound specified.")
     }
     }
     if (!is.null(filled_constraints_in_y[[i]]$upper)) {
     if (any(y[, i] > filled_constraints_in_y[[i]]$upper,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the upper bound specified.")
     }
     }
     }
     for (this_col in cols_in_y_bound_to_intervals) {
     y[, this_col] <- NormalizeBoundedVariable(y[, this_col],
     constraints = filled_constraints_in_y[[this_col]])
     }
     if (length(cols_categorical) > 0) {
     categories <- lapply(cols_categorical, function(i) {
     u <- unique(y[, i])
     return(u[!is.na(u)])
     })
     total_one_hot_dummies <- sum(sapply(categories, length))
     total_not_categorical <- ncol(y) - length(cols_categorical)
     if (total_not_categorical < 2)
     stop("Too few continuous variables.")
     if (total_one_hot_dummies > total_not_categorical)
     warning("More categories in categorical variables than continuous variables. Performance will suffer.")
     y_categorical <- y[, cols_categorical, drop = FALSE]
     z <- y[, -cols_categorical]
     z <- data.frame(z, matrix(NA_real_, nrow = nrow(z), ncol = total_one_hot_dummies))
     current_col_to_fill <- 1
     while (current_col_to_fill < total_one_hot_dummies) {
     for (i in 1:length(categories)) {
     for (j in 1:length(categories[[i]])) {
     z[, total_not_categorical + current_col_to_fill] <- ifelse(y_categorical[,
     i] == categories[[i]][j], 1, -1)
     current_col_to_fill <- current_col_to_fill +
     1
     }
     }
     }
     }
     else {
     categories <- list()
     z <- y
     }
     FastImputationMeans <- colMeans(z, na.rm = TRUE)
     FastImputationCovariance <- CovarianceWithMissing(z)
     min_size_eigenvalue <- 0.01
     eg <- eigen(FastImputationCovariance)$values
     if (min(eg) < min_size_eigenvalue) {
     eps_ev <- min_size_eigenvalue/abs(eg[1])
     FastImputationCovariance <- Matrix::nearPD(FastImputationCovariance,
     do2eigen = TRUE, posd.tol = eps_ev)$mat
     }
     patterns <- list(FI_var_names = names(x), FI_means = FastImputationMeans,
     FI_covariance = FastImputationCovariance, FI_constraints = filled_constraints_in_y,
     FI_cols_to_ignore = cols_to_ignore, FI_cols_bound_to_intervals = cols_in_y_bound_to_intervals,
     FI_cols_categorical = cols_categorical, FI_categories = categories)
     class(patterns) <- "FastImputationPatterns"
     return(patterns)
     }
     <bytecode: 0x559fe92e5238>
     <environment: namespace:FastImputation>
     --- function search by body ---
     Function TrainFastImputation in namespace FastImputation has this body.
     ----------- END OF FAILURE REPORT --------------
     ── 1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.
     `TrainFastImputation(x = bad_array)` threw an error with unexpected message.
     Expected match: "Training data must be in a data.frame"
     Actual message: "the condition has length > 1"
     Backtrace:
     1. testthat::expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     6. FastImputation::TrainFastImputation(x = bad_array)
    
     ══ testthat results ═══════════════════════════════════════════════════════════
     [ OK: 75 | SKIPPED: 1 | WARNINGS: 1 | FAILED: 1 ]
     1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.R#30)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc

Version: 2.0
Check: tests
Result: ERROR
     Running ‘testthat.R’
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library("testthat")
     > library("FastImputation")
     >
     > test_check("FastImputation")
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
     :
     --- package (from environment) ---
     FastImputation
     --- call from context ---
     TrainFastImputation(x = bad_array)
     --- call from argument ---
     if ("data.frame" != class(x)) stop("Training data must be in a data.frame")
     --- R stacktrace ---
     where 1: TrainFastImputation(x = bad_array)
     where 2: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     where 3: withCallingHandlers({
     code
     NULL
     }, error = function(cnd) {
     if (can_entrace(cnd)) {
     cnd <- cnd_entrace(cnd)
     }
     return_from(env, cnd)
     })
     where 4: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),
     ...)
     where 5: quasi_capture(enquo(object), label, capture_error, entrace = TRUE)
     where 6 at testthat/test_TrainFastImputation.R#30: expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     where 7: eval(code, test_env)
     where 8: eval(code, test_env)
     where 9: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 10: doTryCatch(return(expr), name, parentenv, handler)
     where 11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 12: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 13: doTryCatch(return(expr), name, parentenv, handler)
     where 14: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 15: tryCatchList(expr, classes, parentenv, handlers)
     where 16: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 17: test_code(desc, code, env = parent.frame())
     where 18 at testthat/test_TrainFastImputation.R#29: test_that("TrainFastImputation catches bad input", {
     expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_upper),
     "Column 4 does not respect the upper bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_lower),
     "Column 7 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_order),
     "Column 5 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = warning_df, categorical = good_categorical_2),
     "Too few continuous variables.")
     })
     where 19: eval(code, test_env)
     where 20: eval(code, test_env)
     where 21: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 22: doTryCatch(return(expr), name, parentenv, handler)
     where 23: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 24: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 25: doTryCatch(return(expr), name, parentenv, handler)
     where 26: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 27: tryCatchList(expr, classes, parentenv, handlers)
     where 28: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 29: test_code(NULL, exprs, env)
     where 30: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     where 31: force(code)
     where 32: doWithOneRestart(return(expr), restart)
     where 33: withOneRestart(expr, restarts[[1L]])
     where 34: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 35: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,
     {
     reporter$start_file(basename(path))
     lister$start_file(basename(path))
     source_file(path, new.env(parent = env), chdir = TRUE,
     wrap = wrap)
     reporter$.end_context()
     reporter$end_file()
     })
     where 36: FUN(X[[i]], ...)
     where 37: lapply(paths, test_file, env = env, reporter = current_reporter,
     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     where 38: force(code)
     where 39: doWithOneRestart(return(expr), restart)
     where 40: withOneRestart(expr, restarts[[1L]])
     where 41: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 42: with_reporter(reporter = current_reporter, results <- lapply(paths,
     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,
     load_helpers = FALSE, wrap = wrap))
     where 43: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 44: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,
     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,
     wrap = wrap)
     where 45: test_package_dir(package = package, test_path = test_path, filter = filter,
     reporter = reporter, ..., stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 46: test_check("FastImputation")
    
     --- value of length: 2 type: logical ---
     [1] TRUE TRUE
     --- function from context ---
     function (x, constraints = list(), idvars, categorical)
     {
     if ("data.frame" != class(x))
     stop("Training data must be in a data.frame")
     x <- UnfactorColumns(x)
     if (missing(categorical)) {
     cols_categorical <- numeric(0)
     }
     else {
     if (is.numeric(categorical)) {
     cols_categorical <- sort(categorical)
     if (any(cols_categorical > ncol(x)))
     stop("Categorical column specified by index that doesn't exist.")
     }
     else {
     cols_categorical <- as.vector(sort(sapply(categorical,
     function(col_name) {
     col_i <- which(names(x) == col_name)
     if (0 == length(col_i))
     stop("Categorical column specified by name that doesn't exist.")
     return(col_i)
     })))
     }
     }
     if (0 == length(constraints)) {
     filled_constraints_in_x <- replicate(ncol(x), list())
     }
     else {
     filled_constraints_in_x <- sapply(1:ncol(x), function(i_col) {
     is_each_constraint_for_this_col <- sapply(constraints,
     function(this_cons) {
     return(this_cons[[1]] == i_col | any((names(x) ==
     this_cons[[1]]) == i_col))
     })
     if (0 == sum(is_each_constraint_for_this_col)) {
     return(list())
     }
     else if (1 == sum(is_each_constraint_for_this_col)) {
     return(constraints[[which(is_each_constraint_for_this_col)]][[2]])
     }
     else {
     warning("More than one constraint specified for variable ",
     i_col)
     return(constraints[[max(which(is_each_constraint_for_this_col))]][[2]])
     }
     })
     }
     if (missing(idvars)) {
     cols_to_ignore <- numeric(0)
     y <- x
     filled_constraints_in_y <- filled_constraints_in_x
     }
     else {
     if (is.numeric(idvars)) {
     cols_to_ignore <- idvars
     }
     else {
     cols_to_ignore <- as.vector(sort(sapply(idvars, function(col_name) which(names(x) ==
     col_name))))
     }
     y <- x[, -cols_to_ignore]
     filled_constraints_in_y <- filled_constraints_in_x[-cols_to_ignore]
     if (length(cols_categorical) > 0) {
     for (cti in rev(sort(cols_to_ignore))) {
     cols_categorical[cols_categorical > cti] <- cols_categorical[cols_categorical >
     cti] - 1
     }
     }
     }
     cols_in_y_bound_to_intervals <- which(sapply(filled_constraints_in_y,
     function(this_cons) !(is.null(this_cons$upper) && is.null(this_cons$lower))))
     for (i in cols_in_y_bound_to_intervals) {
     if (!is.null(filled_constraints_in_y[[i]]$lower)) {
     if (any(y[, i] < filled_constraints_in_y[[i]]$lower,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the lower bound specified.")
     }
     }
     if (!is.null(filled_constraints_in_y[[i]]$upper)) {
     if (any(y[, i] > filled_constraints_in_y[[i]]$upper,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the upper bound specified.")
     }
     }
     }
     for (this_col in cols_in_y_bound_to_intervals) {
     y[, this_col] <- NormalizeBoundedVariable(y[, this_col],
     constraints = filled_constraints_in_y[[this_col]])
     }
     if (length(cols_categorical) > 0) {
     categories <- lapply(cols_categorical, function(i) {
     u <- unique(y[, i])
     return(u[!is.na(u)])
     })
     total_one_hot_dummies <- sum(sapply(categories, length))
     total_not_categorical <- ncol(y) - length(cols_categorical)
     if (total_not_categorical < 2)
     stop("Too few continuous variables.")
     if (total_one_hot_dummies > total_not_categorical)
     warning("More categories in categorical variables than continuous variables. Performance will suffer.")
     y_categorical <- y[, cols_categorical, drop = FALSE]
     z <- y[, -cols_categorical]
     z <- data.frame(z, matrix(NA_real_, nrow = nrow(z), ncol = total_one_hot_dummies))
     current_col_to_fill <- 1
     while (current_col_to_fill < total_one_hot_dummies) {
     for (i in 1:length(categories)) {
     for (j in 1:length(categories[[i]])) {
     z[, total_not_categorical + current_col_to_fill] <- ifelse(y_categorical[,
     i] == categories[[i]][j], 1, -1)
     current_col_to_fill <- current_col_to_fill +
     1
     }
     }
     }
     }
     else {
     categories <- list()
     z <- y
     }
     FastImputationMeans <- colMeans(z, na.rm = TRUE)
     FastImputationCovariance <- CovarianceWithMissing(z)
     min_size_eigenvalue <- 0.01
     eg <- eigen(FastImputationCovariance)$values
     if (min(eg) < min_size_eigenvalue) {
     eps_ev <- min_size_eigenvalue/abs(eg[1])
     FastImputationCovariance <- Matrix::nearPD(FastImputationCovariance,
     do2eigen = TRUE, posd.tol = eps_ev)$mat
     }
     patterns <- list(FI_var_names = names(x), FI_means = FastImputationMeans,
     FI_covariance = FastImputationCovariance, FI_constraints = filled_constraints_in_y,
     FI_cols_to_ignore = cols_to_ignore, FI_cols_bound_to_intervals = cols_in_y_bound_to_intervals,
     FI_cols_categorical = cols_categorical, FI_categories = categories)
     class(patterns) <- "FastImputationPatterns"
     return(patterns)
     }
     <bytecode: 0x4a787b0>
     <environment: namespace:FastImputation>
     --- function search by body ---
     Function TrainFastImputation in namespace FastImputation has this body.
     ----------- END OF FAILURE REPORT --------------
     ── 1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.
     `TrainFastImputation(x = bad_array)` threw an error with unexpected message.
     Expected match: "Training data must be in a data.frame"
     Actual message: "the condition has length > 1"
     Backtrace:
     1. testthat::expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     6. FastImputation::TrainFastImputation(x = bad_array)
    
     ══ testthat results ═══════════════════════════════════════════════════════════
     [ OK: 75 | SKIPPED: 1 | WARNINGS: 1 | FAILED: 1 ]
     1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.R#30)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.0
Check: tests
Result: ERROR
     Running ‘testthat.R’
    Running the tests in ‘tests/testthat.R’ failed.
    Complete output:
     > library("testthat")
     > library("FastImputation")
     >
     > test_check("FastImputation")
     ----------- FAILURE REPORT --------------
     --- failure: the condition has length > 1 ---
     --- srcref ---
     :
     --- package (from environment) ---
     FastImputation
     --- call from context ---
     TrainFastImputation(x = bad_array)
     --- call from argument ---
     if ("data.frame" != class(x)) stop("Training data must be in a data.frame")
     --- R stacktrace ---
     where 1: TrainFastImputation(x = bad_array)
     where 2: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
     where 3: withCallingHandlers({
     code
     NULL
     }, error = function(cnd) {
     if (can_entrace(cnd)) {
     cnd <- cnd_entrace(cnd)
     }
     return_from(env, cnd)
     })
     where 4: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),
     ...)
     where 5: quasi_capture(enquo(object), label, capture_error, entrace = TRUE)
     where 6 at testthat/test_TrainFastImputation.R#30: expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     where 7: eval(code, test_env)
     where 8: eval(code, test_env)
     where 9: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 10: doTryCatch(return(expr), name, parentenv, handler)
     where 11: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 12: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 13: doTryCatch(return(expr), name, parentenv, handler)
     where 14: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 15: tryCatchList(expr, classes, parentenv, handlers)
     where 16: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 17: test_code(desc, code, env = parent.frame())
     where 18 at testthat/test_TrainFastImputation.R#29: test_that("TrainFastImputation catches bad input", {
     expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_upper),
     "Column 4 does not respect the upper bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_lower),
     "Column 7 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = good_df, constraints = bad_constraints_order),
     "Column 5 does not respect the lower bound specified.")
     expect_error(TrainFastImputation(x = warning_df, categorical = good_categorical_2),
     "Too few continuous variables.")
     })
     where 19: eval(code, test_env)
     where 20: eval(code, test_env)
     where 21: withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error)
     where 22: doTryCatch(return(expr), name, parentenv, handler)
     where 23: tryCatchOne(expr, names, parentenv, handlers[[1L]])
     where 24: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
     where 25: doTryCatch(return(expr), name, parentenv, handler)
     where 26: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),
     names[nh], parentenv, handlers[[nh]])
     where 27: tryCatchList(expr, classes, parentenv, handlers)
     where 28: tryCatch(withCallingHandlers({
     eval(code, test_env)
     if (!handled && !is.null(test)) {
     skip_empty()
     }
     }, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,
     message = handle_message, error = handle_error), error = handle_fatal,
     skip = function(e) {
     })
     where 29: test_code(NULL, exprs, env)
     where 30: source_file(path, new.env(parent = env), chdir = TRUE, wrap = wrap)
     where 31: force(code)
     where 32: doWithOneRestart(return(expr), restart)
     where 33: withOneRestart(expr, restarts[[1L]])
     where 34: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 35: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,
     {
     reporter$start_file(basename(path))
     lister$start_file(basename(path))
     source_file(path, new.env(parent = env), chdir = TRUE,
     wrap = wrap)
     reporter$.end_context()
     reporter$end_file()
     })
     where 36: FUN(X[[i]], ...)
     where 37: lapply(paths, test_file, env = env, reporter = current_reporter,
     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
     where 38: force(code)
     where 39: doWithOneRestart(return(expr), restart)
     where 40: withOneRestart(expr, restarts[[1L]])
     where 41: withRestarts(testthat_abort_reporter = function() NULL, force(code))
     where 42: with_reporter(reporter = current_reporter, results <- lapply(paths,
     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,
     load_helpers = FALSE, wrap = wrap))
     where 43: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 44: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,
     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,
     wrap = wrap)
     where 45: test_package_dir(package = package, test_path = test_path, filter = filter,
     reporter = reporter, ..., stop_on_failure = stop_on_failure,
     stop_on_warning = stop_on_warning, wrap = wrap)
     where 46: test_check("FastImputation")
    
     --- value of length: 2 type: logical ---
     [1] TRUE TRUE
     --- function from context ---
     function (x, constraints = list(), idvars, categorical)
     {
     if ("data.frame" != class(x))
     stop("Training data must be in a data.frame")
     x <- UnfactorColumns(x)
     if (missing(categorical)) {
     cols_categorical <- numeric(0)
     }
     else {
     if (is.numeric(categorical)) {
     cols_categorical <- sort(categorical)
     if (any(cols_categorical > ncol(x)))
     stop("Categorical column specified by index that doesn't exist.")
     }
     else {
     cols_categorical <- as.vector(sort(sapply(categorical,
     function(col_name) {
     col_i <- which(names(x) == col_name)
     if (0 == length(col_i))
     stop("Categorical column specified by name that doesn't exist.")
     return(col_i)
     })))
     }
     }
     if (0 == length(constraints)) {
     filled_constraints_in_x <- replicate(ncol(x), list())
     }
     else {
     filled_constraints_in_x <- sapply(1:ncol(x), function(i_col) {
     is_each_constraint_for_this_col <- sapply(constraints,
     function(this_cons) {
     return(this_cons[[1]] == i_col | any((names(x) ==
     this_cons[[1]]) == i_col))
     })
     if (0 == sum(is_each_constraint_for_this_col)) {
     return(list())
     }
     else if (1 == sum(is_each_constraint_for_this_col)) {
     return(constraints[[which(is_each_constraint_for_this_col)]][[2]])
     }
     else {
     warning("More than one constraint specified for variable ",
     i_col)
     return(constraints[[max(which(is_each_constraint_for_this_col))]][[2]])
     }
     })
     }
     if (missing(idvars)) {
     cols_to_ignore <- numeric(0)
     y <- x
     filled_constraints_in_y <- filled_constraints_in_x
     }
     else {
     if (is.numeric(idvars)) {
     cols_to_ignore <- idvars
     }
     else {
     cols_to_ignore <- as.vector(sort(sapply(idvars, function(col_name) which(names(x) ==
     col_name))))
     }
     y <- x[, -cols_to_ignore]
     filled_constraints_in_y <- filled_constraints_in_x[-cols_to_ignore]
     if (length(cols_categorical) > 0) {
     for (cti in rev(sort(cols_to_ignore))) {
     cols_categorical[cols_categorical > cti] <- cols_categorical[cols_categorical >
     cti] - 1
     }
     }
     }
     cols_in_y_bound_to_intervals <- which(sapply(filled_constraints_in_y,
     function(this_cons) !(is.null(this_cons$upper) && is.null(this_cons$lower))))
     for (i in cols_in_y_bound_to_intervals) {
     if (!is.null(filled_constraints_in_y[[i]]$lower)) {
     if (any(y[, i] < filled_constraints_in_y[[i]]$lower,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the lower bound specified.")
     }
     }
     if (!is.null(filled_constraints_in_y[[i]]$upper)) {
     if (any(y[, i] > filled_constraints_in_y[[i]]$upper,
     na.rm = TRUE)) {
     stop("Column ", i, " does not respect the upper bound specified.")
     }
     }
     }
     for (this_col in cols_in_y_bound_to_intervals) {
     y[, this_col] <- NormalizeBoundedVariable(y[, this_col],
     constraints = filled_constraints_in_y[[this_col]])
     }
     if (length(cols_categorical) > 0) {
     categories <- lapply(cols_categorical, function(i) {
     u <- unique(y[, i])
     return(u[!is.na(u)])
     })
     total_one_hot_dummies <- sum(sapply(categories, length))
     total_not_categorical <- ncol(y) - length(cols_categorical)
     if (total_not_categorical < 2)
     stop("Too few continuous variables.")
     if (total_one_hot_dummies > total_not_categorical)
     warning("More categories in categorical variables than continuous variables. Performance will suffer.")
     y_categorical <- y[, cols_categorical, drop = FALSE]
     z <- y[, -cols_categorical]
     z <- data.frame(z, matrix(NA_real_, nrow = nrow(z), ncol = total_one_hot_dummies))
     current_col_to_fill <- 1
     while (current_col_to_fill < total_one_hot_dummies) {
     for (i in 1:length(categories)) {
     for (j in 1:length(categories[[i]])) {
     z[, total_not_categorical + current_col_to_fill] <- ifelse(y_categorical[,
     i] == categories[[i]][j], 1, -1)
     current_col_to_fill <- current_col_to_fill +
     1
     }
     }
     }
     }
     else {
     categories <- list()
     z <- y
     }
     FastImputationMeans <- colMeans(z, na.rm = TRUE)
     FastImputationCovariance <- CovarianceWithMissing(z)
     min_size_eigenvalue <- 0.01
     eg <- eigen(FastImputationCovariance)$values
     if (min(eg) < min_size_eigenvalue) {
     eps_ev <- min_size_eigenvalue/abs(eg[1])
     FastImputationCovariance <- Matrix::nearPD(FastImputationCovariance,
     do2eigen = TRUE, posd.tol = eps_ev)$mat
     }
     patterns <- list(FI_var_names = names(x), FI_means = FastImputationMeans,
     FI_covariance = FastImputationCovariance, FI_constraints = filled_constraints_in_y,
     FI_cols_to_ignore = cols_to_ignore, FI_cols_bound_to_intervals = cols_in_y_bound_to_intervals,
     FI_cols_categorical = cols_categorical, FI_categories = categories)
     class(patterns) <- "FastImputationPatterns"
     return(patterns)
     }
     <bytecode: 0x4befb90>
     <environment: namespace:FastImputation>
     --- function search by body ---
     Function TrainFastImputation in namespace FastImputation has this body.
     ----------- END OF FAILURE REPORT --------------
     ── 1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.
     `TrainFastImputation(x = bad_array)` threw an error with unexpected message.
     Expected match: "Training data must be in a data.frame"
     Actual message: "the condition has length > 1"
     Backtrace:
     1. testthat::expect_error(TrainFastImputation(x = bad_array), "Training data must be in a data.frame")
     6. FastImputation::TrainFastImputation(x = bad_array)
    
     ══ testthat results ═══════════════════════════════════════════════════════════
     [ OK: 75 | SKIPPED: 1 | WARNINGS: 1 | FAILED: 1 ]
     1. Failure: TrainFastImputation catches bad input (@test_TrainFastImputation.R#30)
    
     Error: testthat unit tests failed
     Execution halted
Flavor: r-devel-linux-x86_64-fedora-gcc