我试图编写一种算法来选择一个大的M,以使m 但是,使用上面的代码,我没有得到我想要的错误。我想知道是否有人会帮助我。 更新:当我运行上面的代码时,我已经获得 但是,如何真正考虑“选择一个大的M,使m set.seed(1234)
x <- rnorm(100,0,1)
y <- x + rnorm(100,x+0.5,0.5)
dat <- data.frame(cbind(x,y))
func <- function(dat,M) {
dat <- as.matrix(dat)
p_value <- list()
if(length(dat[,1])>M){
M=M-1
break
}
for (i in 1:M) {
model <- lm(dat[,1] ~ poly(dat[,-1],i,raw=TRUE))
p_value[[i]] <- summary(model)$coefficients[i+1, 4]
if (p_value[[i]]>0.05) {
break
} else {
i=i+1
}
p_value1 = do.call(rbind, p_value)
}
return(c(p_value1,i-1))
}
func(dat,200)
# Error in func(dat, 200) : object 'p_value1' not found
> func(dat,200)
[1] 9.255452e-61 1.000000e+00