R中出错:没有适用于类为空的对象的预测方法 [英] Error in R: no applicable method for 'predict' applied to an object of class "NULL"

查看:0
本文介绍了R中出错:没有适用于类为空的对象的预测方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试估计系数的一些精确度。以下是我的代码:

    set.seed(12)
n <- 200
coefs <- rep(c(2, -1, 0), each=30)
epsilon <- rnorm(n, 0, 10)
x <- matrix(nrow=n, ncol=90)
for(i in 1:90){
  x[, i] <- rnorm(200, 0, 1)
}
y <- rep(NA, n)
for(i in 1:n){
  y[i] = sum(x[i,]*coefs) + epsilon[i]
}
data <- data.frame(x=x,y=y)

dim(data)
head(data)
numericvars <- c(1:90)
insample <- data[1:100,]
outsample <- data[101,200]
x <- as.matrix(insample[,numericvars])
y <- insample$y
insamplex <- insample[x>0]
outsamplex <- outsample[x,]
insampley <- insample[y>0,]
outsampley <- outsample[y,]
newdata <- data.frame(x=x,y=y)
newdata1 <- na.omit(newdata)

lambdalevels <- 10^seq(7,-2,length=100)

cvlassomod <- glmnet(x, y, alpha=1,lambda=lambdalevels)
yhat <- predict(cvlassomod$glmnet, s=cvlassomod$lambdamin, newx=outsamplex) 

在这里我收到一个错误:Error in UseMethod("Forecate"):没有适用于"空"类的对象的"Forecast"方法

sselas <- sum((outsampley-yhat)^2)
tss <- sum((outsampley -mean(insampley))^2)
las <- (tss-sselas)/tss
las

对于如何将空值引入预测函数,有什么建议吗?

谢谢!

推荐答案

错误也可能来自vvlassomod$lambDamin不存在这一事实。您是否尝试过vlassomod$lambda.min?

这篇关于R中出错:没有适用于类为空的对象的预测方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆