2016-03-03 39 views
0

我,使用R glmnet包弹力网和结果是这样的:如何写glmnet结果(coefs)为R中CSV或文本文件

 TRTREJ6M_KIY      .   
    TXKIDE       -1.317048e-01 
    TXKIDL       .   
    TXKIDR       .   
    URINE_INF_DON     .   
    VASODIL_DONN      .   
    VASODIL_DONU      .    
    VASODIL_DONY      .   

我已经试过这样:

print1 
    function(riskcoef99){ind <- which(coef(riskcoef99) != 0) 
    df <- data.frame(
    feature=rownames(coef(riskcoef99))[ind], 
    coeficient=coef(riskcoef99)[ind] 
    ) 
    kable(df) 
    } 

这:

colnames(risklevelcsv)[which(coef(riskCV99,s="lambda.min") != 0)] 

的glmnet文件名是riskCV99,我有保存riskcoef99文件coefs。 请帮我写的结果为CSV,Excel或文本文件,我一直在努力的最后2天,想不出fugure出来。提前 感谢

回答

0

您没有足够提供一个可重复的例子,以确保我们能满足您的具体情况,但考虑这一点。

此功能

extract <- function(o, s) { 
    index <- which(coef(o, s) != 0) 
    data.frame(name=rownames(coef(o))[index], coef=coef(o, s)[index]) 
} 

可用于从一个对象glmneto非零系数(给出罚s)提取到的数据帧。一旦你有数据帧,你可以使用write.csv将它保存为csv:

df <- extract(riskcoef99, s=0.1) 
write.csv(df, file="saved.csv", row.names=FALSE, quote=FALSE)