R 将函数应用于数据数组,并将结果保存到另一个数组中

R 将函数应用于数据数组,并将结果保存到另一个数组中,r,R,我在两个不同的场合试过这个。我想用功率分析来演示过度装配和修补。 我仅用五个点生成了一些数据,并想演示如何获得完美的拟合,但模型不好: a<-4 b<-1 n<-5 x<-c(1:n) y=a * x+b+rnorm(n,0,100) model1=lm(y~x) model2=lm(y~poly(x,2)) model3=lm(y~poly(x,3)) model4=lm(y~poly(x,4)) 因此,在修补之后,我没有得到任何结果,只是坚持上面所示的“解决方案”

我在两个不同的场合试过这个。我想用功率分析来演示过度装配和修补。 我仅用五个点生成了一些数据,并想演示如何获得完美的拟合,但模型不好:

a<-4
b<-1
n<-5
x<-c(1:n)
y=a * x+b+rnorm(n,0,100)

model1=lm(y~x)
model2=lm(y~poly(x,2))
model3=lm(y~poly(x,3))
model4=lm(y~poly(x,4))
因此,在修补之后,我没有得到任何结果,只是坚持上面所示的“解决方案”。 今天,我利用“pwr”库计算一些假设数据所需的样本量。这是我想出的丑陋的解决方案,我打赌sapply()也有办法做到这一点。然而,这样做:

test=(seq(0,1,by=0.1))
power<-function(x){
  pwr.t.test(,d=coensD,sig.level=0.05,power=x,type="two.sample")
}
sapply(test,power)
在这两种情况下,我都希望将函数应用于一个值数组,并将它们存储在另一个数组中。必须有一个明显且简单的方法来做到这一点……

希望这有帮助

df<-data.frame(model = c(1:4))
apply(df[,1,drop=F],1,function(i) lm(y~poly(x,i)))

dft这似乎是一个关于如何在R代码中编写某些东西的问题(您所问的问题与您编写代码的统计问题无关,而只与如何在R代码中最好地完成特定的事情有关,以及语言的细节)。回答这个问题似乎不需要任何统计专业知识,只需要R的帮助。这些问题就在这里。是否要将此迁移到StackOverflow?看起来你有一个可复制的例子,所以它可能适合该网站。或者,如果你认为这里有一个固有的统计问题,也许你可以澄清。嗨!谢谢你的回复!很抱歉。我可以自己把它移到那里吗?还是我必须把它作为一个新问题来创建?正确的程序是将它标记为迁移,然后由版主来修复它。我将在几分钟内完成,请稍候。尝试
lappy(2:4,函数(I)lm(y~poly(x,I))
plist=0
powerList=pwr.t.test(,d=1,sig.level=0.05,power=0.8,type="two.sample")
plist[1]=powerList$n
powerList=pwr.t.test(,d=1,sig.level=0.05,power=0.7,type="two.sample")
plist[2]=powerList$n
powerList=pwr.t.test(,d=1,sig.level=0.05,power=0.6,type="two.sample")
plist[3]=powerList$n
powerList=pwr.t.test(,d=1,sig.level=0.05,power=0.5,type="two.sample")
plist[4]=powerList$n
powerList=pwr.t.test(,d=1,sig.level=0.05,power=0.4,type="two.sample")
plist[5]=powerList$n
df<-data.frame(model = c(1:4))
apply(df[,1,drop=F],1,function(i) lm(y~poly(x,i)))