@@ -604,7 +604,10 @@ methods::setMethod(
604
604
model [[' biodiversity' ]][[id ]][[' predictors' ]] <- env
605
605
model [[' biodiversity' ]][[id ]][[' predictors_names' ]] <- names(env )[names(env ) %notin % c(" ID" , " x" , " y" , " Intercept" )]
606
606
model [[' biodiversity' ]][[id ]][[' predictors_types' ]] <- model [[' predictors_types' ]][model [[' predictors_types' ]][, " predictors" ] %in% names(env ), ]
607
- }
607
+ # makes sure ordering is identical
608
+ sort_id <- match(model [[' biodiversity' ]][[id ]][[' predictors_names' ]], model [[' biodiversity' ]][[id ]][[' predictors_types' ]]$ predictors )
609
+ model [[' biodiversity' ]][[id ]][[' predictors_types' ]] <- model [[' biodiversity' ]][[id ]][[' predictors_types' ]][sort_id , ]
610
+ }
608
611
609
612
# If the method of integration is weights and there are more than 2 datasets, combine
610
613
if (method_integration == " weight" && length(model $ biodiversity )> = 2 ){
@@ -914,7 +917,9 @@ methods::setMethod(
914
917
pred_prs <- model $ predictors_object $ get_names()
915
918
model $ predictors_names <- pred_tmp
916
919
model $ predictors_types <- model $ predictors_types [model $ predictors_type $ predictors %in% pred_tmp , ]
917
- model $ predictors <- model $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
920
+ # make sure all in same order
921
+ model $ predictors_types <- model $ predictors_types [match(model $ predictors_names , model $ predictors_types $ predictors ), ]
922
+ model $ predictors <- dplyr :: select(model $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
918
923
model $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
919
924
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
920
925
model $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
@@ -956,7 +961,9 @@ methods::setMethod(
956
961
pred_prs <- model $ predictors_object $ get_names()
957
962
model $ predictors_names <- pred_tmp
958
963
model $ predictors_types <- model $ predictors_types [model $ predictors_type $ predictors %in% pred_tmp , ]
959
- model $ predictors <- model $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
964
+ # make sure all in same order
965
+ model $ predictors_types <- model $ predictors_types [match(model $ predictors_names , model $ predictors_types $ predictors ), ]
966
+ model $ predictors <- dplyr :: select(model $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
960
967
model $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
961
968
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
962
969
model $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
@@ -990,7 +997,9 @@ methods::setMethod(
990
997
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
991
998
model2 $ predictors_names <- pred_tmp
992
999
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
993
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1000
+ # make sure all in same order
1001
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1002
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
994
1003
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
995
1004
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
996
1005
}
@@ -1121,7 +1130,9 @@ methods::setMethod(
1121
1130
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
1122
1131
model2 $ predictors_names <- pred_tmp
1123
1132
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
1124
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1133
+ # make sure all in same order
1134
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1135
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1125
1136
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
1126
1137
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
1127
1138
}
@@ -1251,7 +1262,9 @@ methods::setMethod(
1251
1262
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
1252
1263
model2 $ predictors_names <- pred_tmp
1253
1264
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
1254
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1265
+ # make sure all in same order
1266
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1267
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1255
1268
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
1256
1269
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
1257
1270
}
@@ -1405,7 +1418,9 @@ methods::setMethod(
1405
1418
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
1406
1419
model2 $ predictors_names <- pred_tmp
1407
1420
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
1408
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1421
+ # make sure all in same order
1422
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1423
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1409
1424
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
1410
1425
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
1411
1426
}
@@ -1531,7 +1546,9 @@ methods::setMethod(
1531
1546
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
1532
1547
model2 $ predictors_names <- pred_tmp
1533
1548
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
1534
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1549
+ # make sure all in same order
1550
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1551
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1535
1552
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
1536
1553
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
1537
1554
}
@@ -1659,7 +1676,9 @@ methods::setMethod(
1659
1676
model2 $ predictors_object <- model $ predictors_object $ clone(deep = TRUE )
1660
1677
model2 $ predictors_names <- pred_tmp
1661
1678
model2 $ predictors_types <- model2 $ predictors_types [model2 $ predictors_type $ predictors %in% pred_tmp , ]
1662
- model2 $ predictors <- model2 $ predictors | > dplyr :: select(dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1679
+ # make sure all in same order
1680
+ model2 $ predictors_types <- model2 $ predictors_types [match(model2 $ predictors_names , model2 $ predictors_types $ predictors ), ]
1681
+ model2 $ predictors <- dplyr :: select(model2 $ predictors , dplyr :: any_of(c(" x" , " y" , pred_tmp )))
1663
1682
if (length(pred_prs [! pred_prs %in% pred_tmp ]) > 0 ){
1664
1683
model2 $ predictors_object $ rm_data(pred_prs [! pred_prs %in% pred_tmp ])
1665
1684
}
0 commit comments