搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  工作簿1.xlsx
资料下载链接地址: https://bbs.pinggu.org/a-2245244.html
附件大小:
14.38 KB   举报本内容
请问该如何用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、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

GMT+8, 2026-1-25 02:21