Так вот мой код
require(splines)
library(ISLR)
x <- runif(1000,min=0,max=10)
lambda=(2*x)+(0.2*x*sin(x))
y <- rpois(1000,lambda)
J <- data.frame(x=x, y=y)
Теперь, что я хочу сделать, это сгладить эту функцию, используя
smoothing=lm(y~ns(x=x,df=1),data=J)
и
ajust=predict(object=smoothing)
и затем проследить линию сглаживания, используя
plot(x=x,y=y,cex=0.4)
lines(x,ajust,lwd=2)
Я хочу цикл, который объединяет эти 3 операции, для df = 1, ..., 20
так что в основном я хочу проследить 20 различных линий сглаживания (df = 1, ..., 20)
Я использовал это, и я думаю, что это работает, но мне было интересно, смогу ли я сохранить все в dataframe вместо того, чтобы делать матрицу.
dat=matrix(data=(1:20000),ncol=20)
for (i in (1:1000)){
for (d in (1:20)){
smoothing=lm(y~ns(x=x,df=d),data=J)
ajust[i,d]= predict(object=smoothing)[i] }}
trace= function(d){
plot(x,y)
lines(x,ajust[,d]) }
for (d in (1:20)) {trace(d)}
Любая помощь приветствуется! Спасибо !!