Home > database >  How to adjust ggplot axis in R package "caret" for resample class?
How to adjust ggplot axis in R package "caret" for resample class?

Time:10-20

I have two models trained by R package caret , and I'd like to compare their performance. The "resample class" works with ggplot , however, an error occurs when I try to adjust the x-axis: Error: Discrete value supplied to continuous scale. Thanks for any help.

library(caret)
data("mtcars")
mydata = mtcars[, -c(8,9)]

set.seed(100)
model_rf <- train(
  hp ~ ., 
  data = mydata, 
  tuneLength = 5, 
  method = "ranger", 
  metric = "RMSE", 
  preProcess = c('center', 'scale'), 
  trControl = trainControl(
    method = "repeatedcv", 
    number = 5, 
    repeats = 5, 
    verboseIter = TRUE, 
    savePredictions = "final"
  )
)

model_rp <- train(
  hp ~ ., 
  data = mydata, 
  method = "rpart", 
  metric = "RMSE", 
  preProcess = c('center', 'scale'), 
  trControl = trainControl(
    method = "repeatedcv", 
    number = 5, 
    repeats = 5, 
    verboseIter = TRUE, 
    savePredictions = "final"
  )
)

Resamples <- resamples(list("RF" = model_rf, "RP" = model_rp))
ggplot(Resamples, metric = "RMSE")
ggplot(Resamples, metric = "RMSE")   scale_x_continuous(limits = c(0,60), breaks = seq(0,60,10))
## Error: Discrete value supplied to continuous scale

CodePudding user response:

If you change scale_x_continuous to scale_y_continuous, the error goes away like

ggplot(Resamples, metric = "RMSE")   
  scale_y_continuous(limits = c(0,60), breaks = seq(0,60,10))

enter image description here

  • Related