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 versicolor
#>  [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  virginica  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,] 0.998000000 0.002000000 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.998000000 0.002000000 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.998000000 0.002000000 0.000000000
#>  [14,] 0.998000000 0.002000000 0.000000000
#>  [15,] 0.970000000 0.030000000 0.000000000
#>  [16,] 0.990000000 0.010000000 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,] 0.998000000 0.002000000 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.980000000 0.020000000 0.000000000
#>  [38,] 1.000000000 0.000000000 0.000000000
#>  [39,] 0.998000000 0.002000000 0.000000000
#>  [40,] 1.000000000 0.000000000 0.000000000
#>  [41,] 1.000000000 0.000000000 0.000000000
#>  [42,] 0.973095238 0.020714286 0.006190476
#>  [43,] 1.000000000 0.000000000 0.000000000
#>  [44,] 1.000000000 0.000000000 0.000000000
#>  [45,] 1.000000000 0.000000000 0.000000000
#>  [46,] 0.998000000 0.002000000 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.988000000 0.012000000
#>  [52,] 0.000000000 0.994444444 0.005555556
#>  [53,] 0.000000000 0.858896825 0.141103175
#>  [54,] 0.000000000 0.991000000 0.009000000
#>  [55,] 0.000000000 0.990277778 0.009722222
#>  [56,] 0.000000000 0.992083333 0.007916667
#>  [57,] 0.000000000 0.965277778 0.034722222
#>  [58,] 0.003095238 0.859547619 0.137357143
#>  [59,] 0.000000000 1.000000000 0.000000000
#>  [60,] 0.003095238 0.974964286 0.021940476
#>  [61,] 0.003095238 0.918214286 0.078690476
#>  [62,] 0.000000000 0.996527778 0.003472222
#>  [63,] 0.000000000 0.950666667 0.049333333
#>  [64,] 0.000000000 0.998750000 0.001250000
#>  [65,] 0.000000000 1.000000000 0.000000000
#>  [66,] 0.000000000 0.988000000 0.012000000
#>  [67,] 0.000000000 0.996527778 0.003472222
#>  [68,] 0.000000000 1.000000000 0.000000000
#>  [69,] 0.000000000 0.927166667 0.072833333
#>  [70,] 0.000000000 0.984500000 0.015500000
#>  [71,] 0.000000000 0.377214286 0.622785714
#>  [72,] 0.000000000 0.998750000 0.001250000
#>  [73,] 0.000000000 0.771230159 0.228769841
#>  [74,] 0.000000000 0.998750000 0.001250000
#>  [75,] 0.000000000 0.996666667 0.003333333
#>  [76,] 0.000000000 1.000000000 0.000000000
#>  [77,] 0.000000000 0.865523810 0.134476190
#>  [78,] 0.000000000 0.554869048 0.445130952
#>  [79,] 0.000000000 0.996527778 0.003472222
#>  [80,] 0.000000000 0.990500000 0.009500000
#>  [81,] 0.000000000 0.993500000 0.006500000
#>  [82,] 0.000000000 0.993500000 0.006500000
#>  [83,] 0.000000000 1.000000000 0.000000000
#>  [84,] 0.000000000 0.443468254 0.556531746
#>  [85,] 0.028000000 0.961527778 0.010472222
#>  [86,] 0.000000000 0.984861111 0.015138889
#>  [87,] 0.000000000 0.985777778 0.014222222
#>  [88,] 0.000000000 0.977000000 0.023000000
#>  [89,] 0.000000000 1.000000000 0.000000000
#>  [90,] 0.000000000 0.983500000 0.016500000
#>  [91,] 0.000000000 0.982833333 0.017166667
#>  [92,] 0.000000000 0.998750000 0.001250000
#>  [93,] 0.000000000 0.990500000 0.009500000
#>  [94,] 0.003095238 0.956214286 0.040690476
#>  [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.996666667 0.003333333
#>  [99,] 0.003095238 0.973714286 0.023190476
#> [100,] 0.000000000 0.998750000 0.001250000
#> [101,] 0.000000000 0.002500000 0.997500000
#> [102,] 0.000000000 0.061710317 0.938289683
#> [103,] 0.000000000 0.000000000 1.000000000
#> [104,] 0.000000000 0.002857143 0.997142857
#> [105,] 0.000000000 0.000000000 1.000000000
#> [106,] 0.000000000 0.000000000 1.000000000
#> [107,] 0.003095238 0.470845238 0.526059524
#> [108,] 0.000000000 0.012857143 0.987142857
#> [109,] 0.000000000 0.018857143 0.981142857
#> [110,] 0.000000000 0.002500000 0.997500000
#> [111,] 0.000000000 0.010972222 0.989027778
#> [112,] 0.000000000 0.001000000 0.999000000
#> [113,] 0.000000000 0.005000000 0.995000000
#> [114,] 0.000000000 0.087710317 0.912289683
#> [115,] 0.000000000 0.053710317 0.946289683
#> [116,] 0.000000000 0.002500000 0.997500000
#> [117,] 0.000000000 0.002857143 0.997142857
#> [118,] 0.000000000 0.002500000 0.997500000
#> [119,] 0.000000000 0.001000000 0.999000000
#> [120,] 0.000000000 0.508178571 0.491821429
#> [121,] 0.000000000 0.012500000 0.987500000
#> [122,] 0.000000000 0.103154762 0.896845238
#> [123,] 0.000000000 0.000000000 1.000000000
#> [124,] 0.000000000 0.078797619 0.921202381
#> [125,] 0.000000000 0.007500000 0.992500000
#> [126,] 0.000000000 0.012023810 0.987976190
#> [127,] 0.000000000 0.224738095 0.775261905
#> [128,] 0.000000000 0.088892857 0.911107143
#> [129,] 0.000000000 0.000000000 1.000000000
#> [130,] 0.000000000 0.211773810 0.788226190
#> [131,] 0.000000000 0.000000000 1.000000000
#> [132,] 0.000000000 0.002500000 0.997500000
#> [133,] 0.000000000 0.000000000 1.000000000
#> [134,] 0.000000000 0.352857143 0.647142857
#> [135,] 0.000000000 0.303384921 0.696615079
#> [136,] 0.000000000 0.000000000 1.000000000
#> [137,] 0.000000000 0.002500000 0.997500000
#> [138,] 0.000000000 0.002857143 0.997142857
#> [139,] 0.000000000 0.273035714 0.726964286
#> [140,] 0.000000000 0.010000000 0.990000000
#> [141,] 0.000000000 0.005000000 0.995000000
#> [142,] 0.000000000 0.025138889 0.974861111
#> [143,] 0.000000000 0.061710317 0.938289683
#> [144,] 0.000000000 0.007500000 0.992500000
#> [145,] 0.000000000 0.007500000 0.992500000
#> [146,] 0.000000000 0.005000000 0.995000000
#> [147,] 0.000000000 0.057746032 0.942253968
#> [148,] 0.000000000 0.000000000 1.000000000
#> [149,] 0.000000000 0.026595238 0.973404762
#> [150,] 0.000000000 0.077924603 0.922075397


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,] 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,] 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,] 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.984222222 0.012666667 0.003111111
#>  [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.990000000 0.010000000
#>  [52,] 0.000000000 0.999000000 0.001000000
#>  [53,] 0.000000000 0.836547619 0.163452381
#>  [54,] 0.000000000 0.997083333 0.002916667
#>  [55,] 0.000000000 0.976952381 0.023047619
#>  [56,] 0.000000000 0.998750000 0.001250000
#>  [57,] 0.000000000 0.964932540 0.035067460
#>  [58,] 0.004222222 0.903916667 0.091861111
#>  [59,] 0.000000000 1.000000000 0.000000000
#>  [60,] 0.004222222 0.966416667 0.029361111
#>  [61,] 0.004222222 0.924250000 0.071527778
#>  [62,] 0.000000000 0.993777778 0.006222222
#>  [63,] 0.000000000 0.952833333 0.047166667
#>  [64,] 0.000000000 0.996527778 0.003472222
#>  [65,] 0.000000000 1.000000000 0.000000000
#>  [66,] 0.000000000 1.000000000 0.000000000
#>  [67,] 0.000000000 0.992527778 0.007472222
#>  [68,] 0.000000000 0.990000000 0.010000000
#>  [69,] 0.000000000 0.910202381 0.089797619
#>  [70,] 0.000000000 0.998333333 0.001666667
#>  [71,] 0.000000000 0.350234127 0.649765873
#>  [72,] 0.000000000 0.995000000 0.005000000
#>  [73,] 0.000000000 0.804380952 0.195619048
#>  [74,] 0.000000000 0.993750000 0.006250000
#>  [75,] 0.000000000 1.000000000 0.000000000
#>  [76,] 0.000000000 1.000000000 0.000000000
#>  [77,] 0.000000000 0.883380952 0.116619048
#>  [78,] 0.000000000 0.485730159 0.514269841
#>  [79,] 0.000000000 0.986813492 0.013186508
#>  [80,] 0.000000000 1.000000000 0.000000000
#>  [81,] 0.000000000 0.997083333 0.002916667
#>  [82,] 0.000000000 0.997083333 0.002916667
#>  [83,] 0.000000000 0.990000000 0.010000000
#>  [84,] 0.000000000 0.449642857 0.550357143
#>  [85,] 0.000000000 0.963500000 0.036500000
#>  [86,] 0.000000000 0.980682540 0.019317460
#>  [87,] 0.000000000 0.999000000 0.001000000
#>  [88,] 0.000000000 0.989333333 0.010666667
#>  [89,] 0.000000000 1.000000000 0.000000000
#>  [90,] 0.000000000 0.997083333 0.002916667
#>  [91,] 0.000000000 0.998750000 0.001250000
#>  [92,] 0.000000000 0.996527778 0.003472222
#>  [93,] 0.000000000 0.990000000 0.010000000
#>  [94,] 0.004222222 0.947250000 0.048527778
#>  [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.993333333 0.006666667
#>  [99,] 0.004222222 0.964750000 0.031027778
#> [100,] 0.000000000 1.000000000 0.000000000
#> [101,] 0.000000000 0.005111111 0.994888889
#> [102,] 0.000000000 0.059595238 0.940404762
#> [103,] 0.000000000 0.000000000 1.000000000
#> [104,] 0.000000000 0.009555556 0.990444444
#> [105,] 0.000000000 0.000000000 1.000000000
#> [106,] 0.000000000 0.000000000 1.000000000
#> [107,] 0.004222222 0.509238095 0.486539683
#> [108,] 0.000000000 0.005555556 0.994444444
#> [109,] 0.000000000 0.009305556 0.990694444
#> [110,] 0.000000000 0.001111111 0.998888889
#> [111,] 0.000000000 0.006111111 0.993888889
#> [112,] 0.000000000 0.007083333 0.992916667
#> [113,] 0.000000000 0.000000000 1.000000000
#> [114,] 0.000000000 0.067710317 0.932289683
#> [115,] 0.000000000 0.053035714 0.946964286
#> [116,] 0.000000000 0.001111111 0.998888889
#> [117,] 0.000000000 0.002222222 0.997777778
#> [118,] 0.000000000 0.001111111 0.998888889
#> [119,] 0.000000000 0.007083333 0.992916667
#> [120,] 0.000000000 0.462845238 0.537154762
#> [121,] 0.000000000 0.001111111 0.998888889
#> [122,] 0.000000000 0.084063492 0.915936508
#> [123,] 0.000000000 0.003333333 0.996666667
#> [124,] 0.000000000 0.084380952 0.915619048
#> [125,] 0.000000000 0.001111111 0.998888889
#> [126,] 0.000000000 0.022222222 0.977777778
#> [127,] 0.000000000 0.192250000 0.807750000
#> [128,] 0.000000000 0.083309524 0.916690476
#> [129,] 0.000000000 0.003333333 0.996666667
#> [130,] 0.000000000 0.233265873 0.766734127
#> [131,] 0.000000000 0.003333333 0.996666667
#> [132,] 0.000000000 0.001111111 0.998888889
#> [133,] 0.000000000 0.003333333 0.996666667
#> [134,] 0.000000000 0.392511905 0.607488095
#> [135,] 0.000000000 0.325976190 0.674023810
#> [136,] 0.000000000 0.000000000 1.000000000
#> [137,] 0.000000000 0.005111111 0.994888889
#> [138,] 0.000000000 0.002222222 0.997777778
#> [139,] 0.000000000 0.257400794 0.742599206
#> [140,] 0.000000000 0.000000000 1.000000000
#> [141,] 0.000000000 0.000000000 1.000000000
#> [142,] 0.000000000 0.010000000 0.990000000
#> [143,] 0.000000000 0.059595238 0.940404762
#> [144,] 0.000000000 0.001111111 0.998888889
#> [145,] 0.000000000 0.001111111 0.998888889
#> [146,] 0.000000000 0.000000000 1.000000000
#> [147,] 0.000000000 0.046031746 0.953968254
#> [148,] 0.000000000 0.000000000 1.000000000
#> [149,] 0.000000000 0.013361111 0.986638889
#> [150,] 0.000000000 0.096480159 0.903519841