> library("glmnet")
> library("survival")
> data<-read.csv("F:yang\\yang.csv")
> dim(data)
[1] 560 18
> head(data)
time status hsa.miR.198 hsv1.miR.H1 GALNT10 KLHDC3 MGC3196 PPM2C
1 1336 0 6.000120 7.115827 4.211642 6.430065 7.368874 6.611384
2 1247 0 5.668861 6.080477 4.819239 7.095121 7.902691 6.975410
3 55 0 5.584859 5.799768 4.349560 6.035969 8.856912 5.458948
4 1495 1 4.539358 4.346842 3.903397 6.708086 8.263683 6.004740
5 61 0 4.810125 4.838093 5.520588 5.452923 7.802564 6.185189
6 1418 1 5.490129 5.790943 4.376609 7.073469 8.070348 5.691560(部分数据省略)
岭回归做法:
> x<-as.matrix(data[,3:18])
> y<-data[,1]
> cv.fit<-cv.glmnet(x,y,family="gaussian",maxit=1000,nfold=10,alpha=0)
> plot(cv.fit)
请问如何用family=“cox”做?我用以下代码,提示错误
> cv.fit<-cv.glmnet(x,Surv(time,status),family="cox",maxit=1000,nfold=10,alpha=0)
Error in drop(y) :
error in evaluating the argument 'x' in selecting a method for function 'drop': Error in Surv(time, status) : Time variable is not numeric
> y=cbind(time=data[,1],status=data[,2])
> cv.fit<-cv.glmnet(x,y,family="cox",maxit=1000,nfold=10,alpha=0)
Error in coxnet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs, :
negative event times encountered; not permitted for Cox family
请指点,不胜感激!