it seems to work fine. Perhaps there is some eccentricity with your data though. you can make a reprex
library(caret)
library(tidyverse)
data_hairpin <- iris %>% rename(subcellular_location=Species)
trainIndex_hairpin <- createDataPartition(data_hairpin$subcellular_location, p = .8,
list = FALSE,
times = 1)
hairpinTrain <- data_hairpin[ trainIndex_hairpin,]
hairpinTest <- data_hairpin[-trainIndex_hairpin,]
fitControl <- trainControl(
method = "repeatedcv",
number = 10,
repeats = 10)
gbmFit2 <- train(hairpinTrain$subcellular_location ~ ., data = hairpinTrain,
method = "gbm",
trControl = fitControl,
verbose = FALSE)
#Error in `[.data.frame`(data, , all.vars(Terms), drop = FALSE) :
#undefined columns selected
#gives some result
gbmFit2 <- train(subcellular_location ~ ., data = hairpinTrain,
method = "gbm",
trControl = fitControl,
verbose = FALSE)
gbmFit2