У меня нет большого опыта в R, поэтому поправьте меня, если я делаю элементарную ошибку:
У меня есть функция:
ctree_result <- function(yval, training, testing) {
print(yval)
trained_tree <- ctree(formula = ordered(yval) ~ ., subset=training, data=ealls)
print("here")
tree_cor <- cor(yval[testing], as.numeric(predict(trained_tree, ealls[testing])))
c_mat <- rbind(yval[testing], as.numeric(predict(trained_tree, ealls[testing])))
tree_kappa <- cohen.kappa(t(c_mat))
return(c(tree_cor, tree_kappa))
}
Когда я звоню (с любыми данными, но, например):
ctree_result(emean.data$mean.Shape, 1:70, 71:80)
Я получаю ошибку Error in factor(x, ..., ordered = TRUE) : object 'yval' not found
. Тем не менее, первый оператор печати работает, вектор распечатывается. Второе утверждение print никогда не выполняется. yval
не похоже, что он пропущен через ctree.
Я могу запустить функцию ctree
вручную как:
yval <- emean.data$mean.Shape
sauc_tree = ctree(formula = ordered(yval) ~ . , data=ealls)
без проблем. ealls
и emean.data
- это глобальные наборы данных, которые я определил ранее.