使用R语言对影像组学数据进行处理
library(caret);library(glmnet);library(pROC)
set.seed(123456)
data <- read.csv("data.csv", header = T)
p.data <- preProcess(data[,-1],method = c("center","scale","corr"))
P.data <- predict(p.data,newdata = data[,-1])
lasso.x <- as.matrix(P.data);lasso.y <- as.matrix(data[,1])
lasso.cv <- cv.glmnet(x = lasso.x,y = lasso.y,family = "binomial",type.measure = "auc")
lasso <- glmnet(x = lasso.x,y = lasso.y,family = "binomial")
number <- which(coef(lasso,s = lasso.cv$lambda.min) != 0)
signature <- colnames(P.data[number - 1])
print(signature)
rad.model <- glm(y~.,data = data.frame(y = data[,1], data[signature]))
radscore <- predict(rad.model)
roc(data[,1],radscore)
运行结果:筛选