Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R';y不是因素时的s插入符号训练错误_R_Knn_R Caret_Categorical Data_Training Data - Fatal编程技术网

R';y不是因素时的s插入符号训练错误

R';y不是因素时的s插入符号训练错误,r,knn,r-caret,categorical-data,training-data,R,Knn,R Caret,Categorical Data,Training Data,我正在使用R-studio和kaggle,在尝试使用插入符号中的knn3函数时不断出现错误。这是我的密码: library(caret) train <- read.csv("C:/data/forest_cover/train.csv", header=T) trainingRows <- createDataPartition(train$Cover_Type, p=0.8, list=F) head(trainingRows) train_train <- train[t

我正在使用R-studio和kaggle,在尝试使用插入符号中的knn3函数时不断出现错误。这是我的密码:

library(caret)
train <- read.csv("C:/data/forest_cover/train.csv", header=T)
trainingRows <- createDataPartition(train$Cover_Type, p=0.8, list=F)
head(trainingRows)
train_train <- train[trainingRows,]
train_test <- train[-trainingRows,]

knnfit <- knn3(train_train[,-56], train_train$Cover_Type)

正如错误消息所述,
y
必须是一个因子(这里,
y
是函数的第二个参数的名称)。在R中,因子变量用于表示分类数据。您可以将
y
转换为具有
因子(y)
的因子,但它的数据级别仅为
1:7
。如果要为因子提供更有意义的值,请尝试

train$Cover_Type <- factor(train$Cover_Type, levels=1:7, 
    labels=c("Spruce/Fir","Lodgepole Pine","Ponderosa Pine",
    "Cottonwood/Willow","Aspen",
    "Douglas-fir","Krummholz"))
train$Cover\u Type什么是
class(train\u train$Cover\u Type)
返回?我猜不是一个因素。@flick“integer”先生,我该如何解决这个问题?对不起,我是个新手。
train$Cover_Type <- factor(train$Cover_Type, levels=1:7, 
    labels=c("Spruce/Fir","Lodgepole Pine","Ponderosa Pine",
    "Cottonwood/Willow","Aspen",
    "Douglas-fir","Krummholz"))