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


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.995000000 0.005000000 0.000000000
#>   [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,] 0.995000000 0.005000000 0.000000000
#>  [10,] 1.000000000 0.000000000 0.000000000
#>  [11,] 1.000000000 0.000000000 0.000000000
#>  [12,] 1.000000000 0.000000000 0.000000000
#>  [13,] 0.995000000 0.005000000 0.000000000
#>  [14,] 0.995000000 0.005000000 0.000000000
#>  [15,] 1.000000000 0.000000000 0.000000000
#>  [16,] 1.000000000 0.000000000 0.000000000
#>  [17,] 1.000000000 0.000000000 0.000000000
#>  [18,] 1.000000000 0.000000000 0.000000000
#>  [19,] 1.000000000 0.000000000 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,] 0.995000000 0.005000000 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,] 0.995000000 0.005000000 0.000000000
#>  [40,] 1.000000000 0.000000000 0.000000000
#>  [41,] 1.000000000 0.000000000 0.000000000
#>  [42,] 0.964777778 0.027444444 0.007777778
#>  [43,] 1.000000000 0.000000000 0.000000000
#>  [44,] 1.000000000 0.000000000 0.000000000
#>  [45,] 1.000000000 0.000000000 0.000000000
#>  [46,] 0.995000000 0.005000000 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.990000000 0.010000000
#>  [52,] 0.000000000 1.000000000 0.000000000
#>  [53,] 0.000000000 0.810396825 0.189603175
#>  [54,] 0.000000000 1.000000000 0.000000000
#>  [55,] 0.000000000 0.992500000 0.007500000
#>  [56,] 0.000000000 0.992000000 0.008000000
#>  [57,] 0.000000000 0.978000000 0.022000000
#>  [58,] 0.004777778 0.867027778 0.128194444
#>  [59,] 0.000000000 0.997500000 0.002500000
#>  [60,] 0.004777778 0.977027778 0.018194444
#>  [61,] 0.004777778 0.941194444 0.054027778
#>  [62,] 0.000000000 1.000000000 0.000000000
#>  [63,] 0.000000000 0.957500000 0.042500000
#>  [64,] 0.000000000 0.993000000 0.007000000
#>  [65,] 0.000000000 1.000000000 0.000000000
#>  [66,] 0.000000000 1.000000000 0.000000000
#>  [67,] 0.000000000 0.992000000 0.008000000
#>  [68,] 0.000000000 1.000000000 0.000000000
#>  [69,] 0.000000000 0.930000000 0.070000000
#>  [70,] 0.000000000 1.000000000 0.000000000
#>  [71,] 0.000000000 0.325865079 0.674134921
#>  [72,] 0.000000000 1.000000000 0.000000000
#>  [73,] 0.000000000 0.704198413 0.295801587
#>  [74,] 0.000000000 0.993000000 0.007000000
#>  [75,] 0.000000000 0.997500000 0.002500000
#>  [76,] 0.000000000 0.997500000 0.002500000
#>  [77,] 0.000000000 0.905936508 0.094063492
#>  [78,] 0.000000000 0.496972222 0.503027778
#>  [79,] 0.000000000 1.000000000 0.000000000
#>  [80,] 0.000000000 1.000000000 0.000000000
#>  [81,] 0.000000000 1.000000000 0.000000000
#>  [82,] 0.000000000 1.000000000 0.000000000
#>  [83,] 0.000000000 1.000000000 0.000000000
#>  [84,] 0.000000000 0.387373016 0.612626984
#>  [85,] 0.035000000 0.953250000 0.011750000
#>  [86,] 0.000000000 0.988000000 0.012000000
#>  [87,] 0.000000000 1.000000000 0.000000000
#>  [88,] 0.000000000 0.997500000 0.002500000
#>  [89,] 0.000000000 1.000000000 0.000000000
#>  [90,] 0.000000000 1.000000000 0.000000000
#>  [91,] 0.000000000 0.992000000 0.008000000
#>  [92,] 0.000000000 1.000000000 0.000000000
#>  [93,] 0.000000000 1.000000000 0.000000000
#>  [94,] 0.004777778 0.968694444 0.026527778
#>  [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.997500000 0.002500000
#>  [99,] 0.004777778 0.973694444 0.021527778
#> [100,] 0.000000000 1.000000000 0.000000000
#> [101,] 0.000000000 0.000000000 1.000000000
#> [102,] 0.000000000 0.048599206 0.951400794
#> [103,] 0.000000000 0.001000000 0.999000000
#> [104,] 0.000000000 0.003888889 0.996111111
#> [105,] 0.000000000 0.000000000 1.000000000
#> [106,] 0.000000000 0.001000000 0.999000000
#> [107,] 0.004777778 0.519107143 0.476115079
#> [108,] 0.000000000 0.004888889 0.995111111
#> [109,] 0.000000000 0.021523810 0.978476190
#> [110,] 0.000000000 0.000000000 1.000000000
#> [111,] 0.000000000 0.003500000 0.996500000
#> [112,] 0.000000000 0.003968254 0.996031746
#> [113,] 0.000000000 0.011000000 0.989000000
#> [114,] 0.000000000 0.090436508 0.909563492
#> [115,] 0.000000000 0.042130952 0.957869048
#> [116,] 0.000000000 0.000000000 1.000000000
#> [117,] 0.000000000 0.003888889 0.996111111
#> [118,] 0.000000000 0.000000000 1.000000000
#> [119,] 0.000000000 0.004968254 0.995031746
#> [120,] 0.000000000 0.451460317 0.548539683
#> [121,] 0.000000000 0.000000000 1.000000000
#> [122,] 0.000000000 0.112432540 0.887567460
#> [123,] 0.000000000 0.001000000 0.999000000
#> [124,] 0.000000000 0.130321429 0.869678571
#> [125,] 0.000000000 0.000000000 1.000000000
#> [126,] 0.000000000 0.010555556 0.989444444
#> [127,] 0.000000000 0.210821429 0.789178571
#> [128,] 0.000000000 0.122428571 0.877571429
#> [129,] 0.000000000 0.000000000 1.000000000
#> [130,] 0.000000000 0.205928571 0.794071429
#> [131,] 0.000000000 0.001000000 0.999000000
#> [132,] 0.000000000 0.000000000 1.000000000
#> [133,] 0.000000000 0.000000000 1.000000000
#> [134,] 0.000000000 0.315821429 0.684178571
#> [135,] 0.000000000 0.283539683 0.716460317
#> [136,] 0.000000000 0.001000000 0.999000000
#> [137,] 0.000000000 0.000000000 1.000000000
#> [138,] 0.000000000 0.010555556 0.989444444
#> [139,] 0.000000000 0.229769841 0.770230159
#> [140,] 0.000000000 0.000000000 1.000000000
#> [141,] 0.000000000 0.005000000 0.995000000
#> [142,] 0.000000000 0.039500000 0.960500000
#> [143,] 0.000000000 0.048599206 0.951400794
#> [144,] 0.000000000 0.005000000 0.995000000
#> [145,] 0.000000000 0.000000000 1.000000000
#> [146,] 0.000000000 0.005000000 0.995000000
#> [147,] 0.000000000 0.053710317 0.946289683
#> [148,] 0.000000000 0.000000000 1.000000000
#> [149,] 0.000000000 0.017500000 0.982500000
#> [150,] 0.000000000 0.069769841 0.930230159


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 versicolor
#>  [79] versicolor versicolor versicolor versicolor versicolor versicolor
#>  [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  versicolor
#> [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,] 1.000000000 0.000000000 0.000000000
#>   [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.983095238 0.015238095 0.001666667
#>  [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.967222222 0.032777778
#>  [52,] 0.000000000 0.972305556 0.027694444
#>  [53,] 0.000000000 0.819059524 0.180940476
#>  [54,] 0.000000000 0.994000000 0.006000000
#>  [55,] 0.000000000 0.968888889 0.031111111
#>  [56,] 0.000000000 0.976666667 0.023333333
#>  [57,] 0.000000000 0.954686508 0.045313492
#>  [58,] 0.003095238 0.912130952 0.084773810
#>  [59,] 0.000000000 0.992638889 0.007361111
#>  [60,] 0.003095238 0.963019841 0.033884921
#>  [61,] 0.003095238 0.939130952 0.057773810
#>  [62,] 0.000000000 0.994166667 0.005833333
#>  [63,] 0.000000000 0.960444444 0.039555556
#>  [64,] 0.000000000 0.996111111 0.003888889
#>  [65,] 0.000000000 1.000000000 0.000000000
#>  [66,] 0.000000000 0.996111111 0.003888889
#>  [67,] 0.000000000 0.988055556 0.011944444
#>  [68,] 0.000000000 1.000000000 0.000000000
#>  [69,] 0.000000000 0.918611111 0.081388889
#>  [70,] 0.000000000 0.995111111 0.004888889
#>  [71,] 0.000000000 0.357976190 0.642023810
#>  [72,] 0.000000000 1.000000000 0.000000000
#>  [73,] 0.000000000 0.708134921 0.291865079
#>  [74,] 0.000000000 0.996666667 0.003333333
#>  [75,] 0.000000000 0.990638889 0.009361111
#>  [76,] 0.000000000 0.989861111 0.010138889
#>  [77,] 0.000000000 0.879198413 0.120801587
#>  [78,] 0.000000000 0.562321429 0.437678571
#>  [79,] 0.000000000 0.993055556 0.006944444
#>  [80,] 0.000000000 0.991777778 0.008222222
#>  [81,] 0.000000000 0.994000000 0.006000000
#>  [82,] 0.000000000 0.994000000 0.006000000
#>  [83,] 0.000000000 1.000000000 0.000000000
#>  [84,] 0.000000000 0.504492063 0.495507937
#>  [85,] 0.000000000 0.950615079 0.049384921
#>  [86,] 0.000000000 0.969936508 0.030063492
#>  [87,] 0.000000000 0.993194444 0.006805556
#>  [88,] 0.000000000 0.970972222 0.029027778
#>  [89,] 0.000000000 1.000000000 0.000000000
#>  [90,] 0.000000000 0.994000000 0.006000000
#>  [91,] 0.000000000 0.990666667 0.009333333
#>  [92,] 0.000000000 0.996111111 0.003888889
#>  [93,] 0.000000000 0.996777778 0.003222222
#>  [94,] 0.003095238 0.948130952 0.048773810
#>  [95,] 0.000000000 1.000000000 0.000000000
#>  [96,] 0.000000000 0.995000000 0.005000000
#>  [97,] 0.000000000 0.995000000 0.005000000
#>  [98,] 0.000000000 0.996388889 0.003611111
#>  [99,] 0.003095238 0.963130952 0.033773810
#> [100,] 0.000000000 0.995000000 0.005000000
#> [101,] 0.000000000 0.005539683 0.994460317
#> [102,] 0.000000000 0.039968254 0.960031746
#> [103,] 0.000000000 0.000000000 1.000000000
#> [104,] 0.000000000 0.000000000 1.000000000
#> [105,] 0.000000000 0.000000000 1.000000000
#> [106,] 0.000000000 0.000000000 1.000000000
#> [107,] 0.003095238 0.607587302 0.389317460
#> [108,] 0.000000000 0.000000000 1.000000000
#> [109,] 0.000000000 0.001111111 0.998888889
#> [110,] 0.010000000 0.005539683 0.984460317
#> [111,] 0.000000000 0.005650794 0.994349206
#> [112,] 0.000000000 0.001111111 0.998888889
#> [113,] 0.000000000 0.000000000 1.000000000
#> [114,] 0.000000000 0.061742063 0.938257937
#> [115,] 0.000000000 0.034857143 0.965142857
#> [116,] 0.000000000 0.003539683 0.996460317
#> [117,] 0.000000000 0.000000000 1.000000000
#> [118,] 0.010000000 0.005539683 0.984460317
#> [119,] 0.000000000 0.001111111 0.998888889
#> [120,] 0.000000000 0.540388889 0.459611111
#> [121,] 0.000000000 0.003539683 0.996460317
#> [122,] 0.000000000 0.108623016 0.891376984
#> [123,] 0.000000000 0.000000000 1.000000000
#> [124,] 0.000000000 0.095710317 0.904289683
#> [125,] 0.000000000 0.005539683 0.994460317
#> [126,] 0.000000000 0.003539683 0.996460317
#> [127,] 0.000000000 0.254698413 0.745301587
#> [128,] 0.000000000 0.110734127 0.889265873
#> [129,] 0.000000000 0.000000000 1.000000000
#> [130,] 0.000000000 0.209158730 0.790841270
#> [131,] 0.000000000 0.000000000 1.000000000
#> [132,] 0.010000000 0.005539683 0.984460317
#> [133,] 0.000000000 0.000000000 1.000000000
#> [134,] 0.000000000 0.444226190 0.555773810
#> [135,] 0.000000000 0.375464286 0.624535714
#> [136,] 0.000000000 0.000000000 1.000000000
#> [137,] 0.000000000 0.005539683 0.994460317
#> [138,] 0.000000000 0.000000000 1.000000000
#> [139,] 0.000000000 0.302714286 0.697285714
#> [140,] 0.000000000 0.000000000 1.000000000
#> [141,] 0.000000000 0.000000000 1.000000000
#> [142,] 0.000000000 0.022111111 0.977888889
#> [143,] 0.000000000 0.039968254 0.960031746
#> [144,] 0.000000000 0.003539683 0.996460317
#> [145,] 0.000000000 0.005539683 0.994460317
#> [146,] 0.000000000 0.010000000 0.990000000
#> [147,] 0.000000000 0.035496032 0.964503968
#> [148,] 0.000000000 0.000000000 1.000000000
#> [149,] 0.000000000 0.018634921 0.981365079
#> [150,] 0.000000000 0.052833333 0.947166667