Fits a `ranger` random forest with a consistent interface. Supports both classification (factor `y`) and regression (numeric `y`).

wrap_ranger(x, y, ...)

# S3 method for class 'wrap_ranger'
predict(object, newx, type = c("class", "prob"), ...)

# S3 method for class 'wrap_ranger'
print(x, ...)

Arguments

x

A matrix or data.frame of features.

y

A factor or character vector for classification, numeric for regression.

...

Additional arguments passed to [ranger::ranger()].

object

A fitted `wrap_ranger` object.

newx

A matrix or data.frame of new observations.

type

`"class"` (default) for class labels, `"prob"` for a probability matrix. Ignored for regression.

Value

An object of class `wrap_ranger` with fields:

fit

The fitted ranger model.

levels

Class levels (NULL for regression).

task

"classification" or "regression".

Examples

# \donttest{
X <- as.matrix(iris[, 1:4])
y <- iris$Species
mod <- wrap_ranger(X, y, num.trees = 100L)
predict(mod, newx = X, type = "class")
#>   [1] setosa     setosa     setosa     setosa     setosa     setosa    
#>   [7] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [13] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [19] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [25] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [31] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [37] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [43] setosa     setosa     setosa     setosa     setosa     setosa    
#>  [49] setosa     setosa     versicolor versicolor versicolor versicolor
#>  [55] versicolor versicolor versicolor versicolor versicolor versicolor
#>  [61] versicolor versicolor versicolor versicolor versicolor versicolor
#>  [67] versicolor versicolor versicolor versicolor virginica  versicolor
#>  [73] versicolor versicolor versicolor versicolor versicolor virginica 
#>  [79] versicolor versicolor versicolor versicolor versicolor virginica 
#>  [85] versicolor versicolor versicolor versicolor versicolor versicolor
#>  [91] versicolor versicolor versicolor versicolor versicolor versicolor
#>  [97] versicolor versicolor versicolor versicolor virginica  virginica 
#> [103] virginica  virginica  virginica  virginica  versicolor virginica 
#> [109] virginica  virginica  virginica  virginica  virginica  virginica 
#> [115] virginica  virginica  virginica  virginica  virginica  virginica 
#> [121] virginica  virginica  virginica  virginica  virginica  virginica 
#> [127] virginica  virginica  virginica  virginica  virginica  virginica 
#> [133] virginica  virginica  virginica  virginica  virginica  virginica 
#> [139] virginica  virginica  virginica  virginica  virginica  virginica 
#> [145] virginica  virginica  virginica  virginica  virginica  virginica 
#> Levels: setosa versicolor virginica
predict(mod, newx = X, type = "prob")
#>             setosa  versicolor   virginica
#>   [1,] 1.000000000 0.000000000 0.000000000
#>   [2,] 0.992500000 0.005000000 0.002500000
#>   [3,] 1.000000000 0.000000000 0.000000000
#>   [4,] 1.000000000 0.000000000 0.000000000
#>   [5,] 1.000000000 0.000000000 0.000000000
#>   [6,] 1.000000000 0.000000000 0.000000000
#>   [7,] 1.000000000 0.000000000 0.000000000
#>   [8,] 1.000000000 0.000000000 0.000000000
#>   [9,] 1.000000000 0.000000000 0.000000000
#>  [10,] 1.000000000 0.000000000 0.000000000
#>  [11,] 1.000000000 0.000000000 0.000000000
#>  [12,] 1.000000000 0.000000000 0.000000000
#>  [13,] 1.000000000 0.000000000 0.000000000
#>  [14,] 1.000000000 0.000000000 0.000000000
#>  [15,] 0.990000000 0.010000000 0.000000000
#>  [16,] 1.000000000 0.000000000 0.000000000
#>  [17,] 1.000000000 0.000000000 0.000000000
#>  [18,] 1.000000000 0.000000000 0.000000000
#>  [19,] 0.990000000 0.010000000 0.000000000
#>  [20,] 1.000000000 0.000000000 0.000000000
#>  [21,] 1.000000000 0.000000000 0.000000000
#>  [22,] 1.000000000 0.000000000 0.000000000
#>  [23,] 1.000000000 0.000000000 0.000000000
#>  [24,] 1.000000000 0.000000000 0.000000000
#>  [25,] 1.000000000 0.000000000 0.000000000
#>  [26,] 1.000000000 0.000000000 0.000000000
#>  [27,] 1.000000000 0.000000000 0.000000000
#>  [28,] 1.000000000 0.000000000 0.000000000
#>  [29,] 1.000000000 0.000000000 0.000000000
#>  [30,] 1.000000000 0.000000000 0.000000000
#>  [31,] 1.000000000 0.000000000 0.000000000
#>  [32,] 1.000000000 0.000000000 0.000000000
#>  [33,] 1.000000000 0.000000000 0.000000000
#>  [34,] 1.000000000 0.000000000 0.000000000
#>  [35,] 1.000000000 0.000000000 0.000000000
#>  [36,] 1.000000000 0.000000000 0.000000000
#>  [37,] 0.990000000 0.010000000 0.000000000
#>  [38,] 1.000000000 0.000000000 0.000000000
#>  [39,] 1.000000000 0.000000000 0.000000000
#>  [40,] 1.000000000 0.000000000 0.000000000
#>  [41,] 1.000000000 0.000000000 0.000000000
#>  [42,] 0.971666667 0.024444444 0.003888889
#>  [43,] 1.000000000 0.000000000 0.000000000
#>  [44,] 1.000000000 0.000000000 0.000000000
#>  [45,] 1.000000000 0.000000000 0.000000000
#>  [46,] 1.000000000 0.000000000 0.000000000
#>  [47,] 1.000000000 0.000000000 0.000000000
#>  [48,] 1.000000000 0.000000000 0.000000000
#>  [49,] 1.000000000 0.000000000 0.000000000
#>  [50,] 1.000000000 0.000000000 0.000000000
#>  [51,] 0.000000000 0.971222222 0.028777778
#>  [52,] 0.000000000 0.984305556 0.015694444
#>  [53,] 0.000000000 0.771535714 0.228464286
#>  [54,] 0.000000000 0.994777778 0.005222222
#>  [55,] 0.000000000 0.988750000 0.011250000
#>  [56,] 0.000000000 0.998750000 0.001250000
#>  [57,] 0.000000000 0.948638889 0.051361111
#>  [58,] 0.004166667 0.841646825 0.154186508
#>  [59,] 0.000000000 0.999000000 0.001000000
#>  [60,] 0.001666667 0.971646825 0.026686508
#>  [61,] 0.001666667 0.923480159 0.074853175
#>  [62,] 0.000000000 0.994750000 0.005250000
#>  [63,] 0.000000000 0.948500000 0.051500000
#>  [64,] 0.000000000 0.999000000 0.001000000
#>  [65,] 0.000000000 1.000000000 0.000000000
#>  [66,] 0.000000000 0.999000000 0.001000000
#>  [67,] 0.000000000 0.997500000 0.002500000
#>  [68,] 0.000000000 1.000000000 0.000000000
#>  [69,] 0.000000000 0.931833333 0.068166667
#>  [70,] 0.000000000 1.000000000 0.000000000
#>  [71,] 0.000000000 0.429654762 0.570345238
#>  [72,] 0.000000000 0.999000000 0.001000000
#>  [73,] 0.000000000 0.750388889 0.249611111
#>  [74,] 0.000000000 0.999000000 0.001000000
#>  [75,] 0.000000000 0.999000000 0.001000000
#>  [76,] 0.000000000 0.999000000 0.001000000
#>  [77,] 0.000000000 0.898456349 0.101543651
#>  [78,] 0.000000000 0.469773810 0.530226190
#>  [79,] 0.000000000 0.993500000 0.006500000
#>  [80,] 0.000000000 1.000000000 0.000000000
#>  [81,] 0.000000000 0.994777778 0.005222222
#>  [82,] 0.000000000 0.994777778 0.005222222
#>  [83,] 0.000000000 1.000000000 0.000000000
#>  [84,] 0.000000000 0.399218254 0.600781746
#>  [85,] 0.010000000 0.964702381 0.025297619
#>  [86,] 0.000000000 0.965055556 0.034944444
#>  [87,] 0.000000000 0.992083333 0.007916667
#>  [88,] 0.000000000 0.972333333 0.027666667
#>  [89,] 0.000000000 1.000000000 0.000000000
#>  [90,] 0.000000000 0.994777778 0.005222222
#>  [91,] 0.000000000 0.993527778 0.006472222
#>  [92,] 0.000000000 0.999000000 0.001000000
#>  [93,] 0.000000000 0.990000000 0.010000000
#>  [94,] 0.001666667 0.941646825 0.056686508
#>  [95,] 0.000000000 1.000000000 0.000000000
#>  [96,] 0.000000000 1.000000000 0.000000000
#>  [97,] 0.000000000 1.000000000 0.000000000
#>  [98,] 0.000000000 0.992333333 0.007666667
#>  [99,] 0.001666667 0.971646825 0.026686508
#> [100,] 0.000000000 1.000000000 0.000000000
#> [101,] 0.000000000 0.004472222 0.995527778
#> [102,] 0.000000000 0.060075397 0.939924603
#> [103,] 0.000000000 0.000000000 1.000000000
#> [104,] 0.000000000 0.001666667 0.998333333
#> [105,] 0.000000000 0.000000000 1.000000000
#> [106,] 0.000000000 0.000000000 1.000000000
#> [107,] 0.004166667 0.554452381 0.441380952
#> [108,] 0.000000000 0.001666667 0.998333333
#> [109,] 0.000000000 0.017916667 0.982083333
#> [110,] 0.000000000 0.003472222 0.996527778
#> [111,] 0.000000000 0.031317460 0.968682540
#> [112,] 0.000000000 0.002916667 0.997083333
#> [113,] 0.000000000 0.000000000 1.000000000
#> [114,] 0.000000000 0.094646825 0.905353175
#> [115,] 0.000000000 0.054658730 0.945341270
#> [116,] 0.000000000 0.004472222 0.995527778
#> [117,] 0.000000000 0.001666667 0.998333333
#> [118,] 0.000000000 0.003472222 0.996527778
#> [119,] 0.000000000 0.002916667 0.997083333
#> [120,] 0.000000000 0.462559524 0.537440476
#> [121,] 0.000000000 0.004472222 0.995527778
#> [122,] 0.000000000 0.135571429 0.864428571
#> [123,] 0.000000000 0.000000000 1.000000000
#> [124,] 0.000000000 0.128230159 0.871769841
#> [125,] 0.000000000 0.004472222 0.995527778
#> [126,] 0.000000000 0.007638889 0.992361111
#> [127,] 0.000000000 0.295924603 0.704075397
#> [128,] 0.000000000 0.115452381 0.884547619
#> [129,] 0.000000000 0.000000000 1.000000000
#> [130,] 0.000000000 0.173214286 0.826785714
#> [131,] 0.000000000 0.000000000 1.000000000
#> [132,] 0.000000000 0.003472222 0.996527778
#> [133,] 0.000000000 0.000000000 1.000000000
#> [134,] 0.000000000 0.349547619 0.650452381
#> [135,] 0.000000000 0.241702381 0.758297619
#> [136,] 0.000000000 0.000000000 1.000000000
#> [137,] 0.000000000 0.004472222 0.995527778
#> [138,] 0.000000000 0.002916667 0.997083333
#> [139,] 0.000000000 0.314146825 0.685853175
#> [140,] 0.000000000 0.001250000 0.998750000
#> [141,] 0.000000000 0.001250000 0.998750000
#> [142,] 0.000000000 0.023095238 0.976904762
#> [143,] 0.000000000 0.060075397 0.939924603
#> [144,] 0.000000000 0.004472222 0.995527778
#> [145,] 0.000000000 0.004472222 0.995527778
#> [146,] 0.000000000 0.000000000 1.000000000
#> [147,] 0.000000000 0.058555556 0.941444444
#> [148,] 0.000000000 0.000000000 1.000000000
#> [149,] 0.000000000 0.004472222 0.995527778
#> [150,] 0.000000000 0.046769841 0.953230159
# }