为什么 R 在传递命令 (knn.pred=knn(train.X,test.X,train.Y,k=1 时抛出错误(找不到函数 "knn") )) 在我学习期间?

Why R is throwing error(could not find function "knn") while passing a command (knn.pred=knn(train.X,test.X,train.Y,k=1)) during my learning?

library(ISLR)
standardized.X=scale(Caravan [,-86])
test =1:1000
train.X=standardized.X[-test ,]
test.X=standardized.X[test ,]
attach(Caravan)
train.Y=Purchase [-test]
test.Y=Purchase [test]
set.seed(1)
knn.pred=knn(train.X,test.X,train.Y,k=1)
Error in knn(train.X, test.X, train.Y, k = 1) : 
  could not find function "knn"

使用 class 库

knn 函数是 class 库的一部分:

library(class)

完整代码:

library(ISLR)
library(class)
standardized.X = scale(Caravan [, -86])
test = 1:1000
train.X = standardized.X[-test , ]
test.X = standardized.X[test , ]
attach(Caravan)
train.Y = Purchase [-test]
test.Y = Purchase [test]
set.seed(1)
knn.pred = knn(train.X, test.X, train.Y, k = 1)

输出:

> knn.pred
  [1] No  No  No  No  No  No  Yes No  Yes No  No  No  Yes No  No  No  No  Yes Yes No  No 
 [22] No  Yes No  No  No  No  No  No  No  No  No  No  No  No  No  No  No  No  No  No  No 
...

希望这对您有所帮助。