2016-07-21 1 views
0

내가 R에 VSURF 및 랜덤 포레스트를 사용하기 위해 노력하고있어,하지만 predict.VSURF, predict.randomForest 및 plot.VSURF 같은 라이브러리의 기능이 작동하지 않습니다와 나는 다음과 같은 오류를 받고 있어요 :VSURF 및 랜덤 포레스트

오류 :

library(randomForest) 
library(VSURF) 
data(cars) 
fit <- VSURF(x = cars[1:402,2:ncol(cars)], y = cars[1:402,1]) 
#At this step I get the error: Error: could not find function "predict.VSURF" 
preds <- predict.VSURF(fit, newdata = cars[403:804,2:ncol(cars)]) 

답변

1

R은 VSURF 클래스 개체로 fit를 인식하고 그것을 위해 VSURF.predict를 호출합니다 :

을 기능 "predict.VSURF"를 찾을 수 없습니다 여기에 재현 예입니다. 대신 predict()을 사용하십시오. mtcarspredict()이 VSURF 나를 위해 잘 작동 사용

Error in matrix(NA, nrow = nfor.thres, ncol = ncol(x)) : non-numeric matrix extent

:

또한, 귀하의 예를보고에서, VSURF는 하나의 X 변수 던지는이 오류를 실패 할 것 같다.

data("mtcars") 
fit <- VSURF(x = mtcars[1:25,2:ncol(mtcars)], y = mtcars[1:25,1]) 
preds <- predict(fit, newdata = mtcars[26:32, 2:ncol(mtcars)]) 
+0

preds에 두 개의 열이있는 이유를 알고 있습니까? 나는 "pred"열이 예측이라고 생각하지만, 다른 열이 – IJH

+0

에 대한 것이 확실하지 않습니다. @IJH VSURF는 '해석'단계와 마지막으로 '예측'단계에서 데이터를 반복적으로 예측하는 것 같습니다. 'step = "pred"'를 사용하여 출력을 제한 할 수 있습니다. –