全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3205 1
2015-10-06
library(MASS)
Data = matrix (NA, 28, 64);
a<-c(-1,-1,-1,674,NA,0,-1,-1,1414,NA,1,-1,-1,3636,NA,-1,0,-1,338,NA,0,0,-1,1022,NA,1,0,-1,1368,NA,-1,1,-1,170,NA,0,1,-1,442,NA,1,1,-1,1140,NA,-1,-1,0,370,NA,0,-1,0,1198,NA,1,-1,0,3184,NA,-1,0,0,266,NA,0,0,0,620,NA,1,0,0,1070,NA,-1,1,0,118,NA,0,1,0,332,NA,1,1,0,884,NA,-1,-1,1,292,NA,0,-1,1,634,NA,1,-1,1,2000,NA,-1,0,1,210,NA,0,0,1,438,NA,1,0,1,566,NA,-1,1,1,90,NA,0,1,1,220,NA,1,1,1,360,NA)
A<-matrix(a,byrow=T,ncol=5)
y<-A[,4]
x1<-A[,1]
x2<-A[,2]
x3<-A[,3]
boxcox(y~x1+x2+x3+x1*x1+x2*x2+x3*x3+x1*x2+x1*x3+x2*x3,lambda=seq(-3,3,len=60))
Data[1:27,1]<-x1
Data[1:27,2]<-x2
Data[1:27,3]<-x3
Data[1:27,4]<-y
gm=-exp(mean(log(A[,4])))

N=matrix(NA,61,1)
N[1]=-3
SSE<-function(data,n)
{
  for(i in 1:60){
    N[i+1]=N[i]+0.1
    bm=-560.9381^(1-N[i])
    for(j in 1:n){
      if(N[i]!=0) data[j,i+4]=bm*(data[j,4]^(N[i]-1))/N[i] else data[j,i+4]=-560.9381*log(data[j,4])
    }
    x4<-data[1:27,i+4]
    test<-anova.lm(lm(x4~x1+x2+x3+x1*x1+x2*x2+x3*x3+x1*x2+x1*x3+x2*x3))
    data[28,i+4] <- test['Residuals','Sum Sq']     
  }
data
}
SSE(Data,27)

新手菜鸡,写的又乱又蠢
那么问题来了:
1:lambda=0的else语句好像永远不执行,无论else后的命令怎么取,我的lambda=0点的sse都是个巨大的数——10的30次方
2:其他的点虽然都是正常数,但是和题目给的值也是有很大的区别。。。

新手菜鸡,没有啥论坛币也,求好心大神帮助啊!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-10-7 00:59:40
自己再顶自己一个。。。挺急的。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群