在插入符号包

时间:2017-11-03 07:35:56

标签: r r-caret

我尝试了尝试make.names等命令的尝试次数 我使用以下命令在我的训练数据集(trdata)

的帮助下创建模型
m1=train(c ~ . , data=trdata, method = "rf", trControl=cp,tuneGrid=pg)

我收到了以下错误

  

错误:至少有一个类级别不是有效的R变量   名称;这会在生成类概率时导致错误   因为变量名称将转换为X1,X2,X3。请   使用可用作有效R变量名称的因子水平(参见   ?make.names求助)。

> head(trdata)

       x         y           z         ae         r     c
2  0.8724050 -0.9649373  4.771520  0.5641121  4.440748  1
4  3.6568255  2.2998766 -1.315827  5.0710688  5.408739  1
5  7.5037121  0.3572034  5.717547 -1.7319635  8.536827  1
6 -0.7128616  1.6537590  3.042365  7.2987685 15.933234  1
7 -3.7937849 -0.5391126 11.540201  2.6702112 13.750957  1
8 -1.9557774  1.9698985 -5.556559  1.8364337  6.564570  1

我在c变量下总共有3个唯一值。

有人可以帮我解决我的模型制作声明m1的错误吗?

1 个答案:

答案 0 :(得分:0)

响应变量的值不能为数字或TRUEFALSE。您必须将它们转换为其他东西。

trdata$c<- factor(trdata$c, 
                  levels = c(1, 2, 3,...), 
                  labels = c("One", "Two", "Three", ...))