Я подозреваю, что это происходит из-за наличия недопустимого имени переменной в вашем фрейме данных. Рассмотрим кадр данных, который имеет только переменную ответа resp
и переменную (нелегально) с именем PCNA-AS1
:
(dat <- structure(list(`PCNA-AS1` = c(1, 2, 3), resp = structure(c(2L, 2L, 1L), .Label = c("0", "1"), class = "factor")), .Names = c("PCNA-AS1", "resp"), row.names = c(NA, -3L), class = "data.frame"))
# PCNA-AS1 resp
# 1 1 1
# 2 2 1
# 3 3 0
Теперь, когда мы тренируем случайный лес, получаем указанную ошибку:
library(randomForest)
mod <- randomForest(resp~., data=dat)
# Error in eval(expr, envir, enclos) : object 'PCNA-AS1' not found
Естественным решением этой проблемы было бы преобразование ваших имен переменных во все, что было бы законным:
names(dat) <- make.names(names(dat))
dat
# PCNA.AS1 resp
# 1 1 1
# 2 2 1
# 3 3 0
mod <- randomForest(resp~., data=dat)
Теперь модель тренируется без ошибок.