Я пытаюсь запустить RF с использованием функции в качестве переменной ответа. У меня возникла проблема с передачей строки через переменную, которая будет использоваться в качестве ответа в РФ. Сначала я пытаюсь запустить RF на строке, прошедшей через переменную в качестве ответа, и получаю «длина вектора отличается от ошибки». После этого я пытаюсь просто ввести фактическую строку (функцию) в качестве ответа, и она отлично работает. Можете ли вы пролить свет на то, почему переменная длина отличается? Благодарю.случайные длины переменных леса отличаются
> colnames(Data[1])
[1] "feature1"
> rf.file = randomForest(formula =colnames(Data[1])~ ., data = Data, proximity = T, importance = T, ntree = 500, nodesize = 3)
Error in model.frame.default(formula = colnames(Data[1]) ~ ., :
variable lengths differ (found for 'feature1')
Enter a frame number, or 0 to exit
1: randomForest(formula = colnames(Data[1]) ~ ., data = Data, proximity = T, importance = T, ntree = 500, nodesize = 3)
2: randomForest.formula(formula = colnames(Data[1]) ~ ., data = brainDataTrim, proximity = T, importance = T, ntree = 500, nodesize = 3)
3: eval(m, parent.frame())
4: eval(expr, envir, enclos)
5: model.frame(formula = colnames(Data[1]) ~ ., data = Data, na.action = function (object, ...)
6: model.frame.default(formula = colnames(Data[1]) ~ ., data = Data, na.action = function (object, ...)
Selection: 0
> rf.file = randomForest(formula =feature1~ ., data = Data, proximity = T, importance = T, ntree = 500, nodesize = 3)
> rf.file
Call:
randomForest(formula = feature1 ~ ., data = Data, proximity = T, importance = T, ntree = 500, nodesize = 3)
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 3
Mean of squared residuals: 0.1536834
% Var explained: 34.21
>
Спасибо за ответ! Я вижу, что паста может быть использована для построения строк для использования в формулах и таким образом фактически разработана. Другой способ, которым я нашел это, - использовать формулу (x, y) и вызвать координаты в таблице фактических данных, которые будут использоваться в качестве координат x, y: randomForest (данные [, -1], данные [, 1] , близость = T) –