| 所在主题: | |
| 文件名: 工作簿1.xlsx | |
| 资料下载链接地址: https://bbs.pinggu.org/a-2245244.html | |
| 附件大小: | |
|
请问该如何用R做多元线性回归模型的留一法交叉验证呢,我尝试了如下代码,可是一直报错。
> dat <- read.csv(file.choose()) #载入数据表格 > lmcv<- function(pIC50=7.86-3.00*BEHe6+12.08*BIC2+2.15*E1u+5.81*HATS7p-0.26*Hy+0.16*L2s-0.65*Mor30e-57.18*R2v_A-91.85*R6v_A+20.62*R7e_A-0.03*RDF080m+35.84*R8p_A, loo = TRUE) { + N <- nrow(dat) + if (loo == TRUE) { + pIC50test <- dat[-1, 14] + newrsq <- numeric(N) + pIC50pred <- numeric(N) + for(i in 1:N){ + newtrain <- dat[-i,2:13] + xtest <- dat[i, 2:13] + newfm <- lm(pIC50~BEHe6+BIC2+E1u+HATS7p+Hy+L2s+Mor30e+R2v_A+R6v_A+R7e_A+RDF080m+R8p_A, dat = newtrain) + newrsq <- summary(newfm)$r.squared + pIC50pred <- predict(newfm, xtest) + } + } + else { + m <- 75 + n <- 1 + newrsq <- numeric(m) + pIC50test <- numeric(m*n) + pIC50pred <- numeric(m*n) + for (i in 1:m) { + j <- sample(N, n, replace = FALSE) + newtrain <- dat[j, 2:13] + xtest <- dat[j, -1] + pIC50test[((i-1) * n + 1): (i * n)] <- dat[j, 14] + newfm <- lm(pIC50~BEHe6+BIC2+E1u+HATS7p+Hy+L2s+Mor30e+R2v_A+R6v_A+R7e_A+RDF080m+R8p_A, dat = newtrain) + pIC50pred[((i-1) * n + 1): (i * n)] <- predict(newfm, xtest) + } + } + q.squared <- 1 - sum((pIC50test - pIC50pred)^2) / sum((pIC50test - mean(pIC50test))^2) + if (loo == TRUE) { + SDEP <- sqrt(sum((pIC50test - pIC50pred)^2) / N) + } + else { + SDEP <- sqrt(sum((pIC50test - pIC50pred)^2) / (m * n)) + } + if (loo == TRUE) { + return(list(q.squared = q.squared, SDEP = SDEP, newrsq = newrsq)) + } + else { + return(list(q.squared = q.squared, SDEP = SDEP)) + } + } > lmcv(lm(pIC50~BEHe6+BIC2+E1u+HATS7p+Hy+L2s+Mor30e+R2v_A-R6v_A+R7e_A+RDF080m+R8p_A)) Error in eval(predvars, data, env) : 找不到对象'pIC50' 不知道错在了哪里,还请各位大神多多指教。数据材料附上。 |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明