• R语言
  • 请教:关于SAS中用PROC GAM与R中gam做出的图的差别,目前正 from SAS to R

用SAS中的PROC GAM做图时,PLOT有一选项ADDITIVE,作用是直线估计和曲线拟合的叠加后出图,这样好象更符合变量关系探索的目的。但是在R中好象图只是单纯曲线拟合,也没有对直线回归beta的估计,若在模型中加上直线回归估计,得出的beta明显是错的。如何在R的gam中得到直线和曲线叠加后的图呢,象在SAS中一样呢?请教高手

下面是我的SAS code 和R code.

ods graphics on;

proc gam data=slcrp8 plots=components( additive clm unpack);

model crp=spline(age) param(bmxbmi);

run;

ods graphics off;

R code 1

CRP.AGE.T<-gam(crp~s(age,bs="cr",fx=TRUE,k=6)+BMXBMI,na.action=na.omit,data=VD)

plot(CRP.AGE.T,ylim=c(-1.75,1.75), cex.axis=1.35,cex.lab=1.45,mgp=c(2.5,0.75,0),

xlab="Age (yrs)",ylab="Log hS_CRP (mg/dL)",main="")

summary(CRP.AGE.T)

R code 2

CRP.AGE.T2<-gam(crp~s(age,bs="cr",fx=TRUE,k=6)+age+BMXBMI,na.action=na.omit,data=VD)

plot(CRP.AGE.T2,ylim=c(-1.75,1.75), cex.axis=1.35,cex.lab=1.45,mgp=c(2.5,0.75,0),

xlab="Age (yrs)",ylab="Log hS_CRP (mg/dL)",main="")

summary(CRP.AGE.T2)