| 所在主题: | |
| 文件名: 汇总数据.xlsx | |
| 资料下载链接地址: https://bbs.pinggu.org/a-2100895.html | |
| 附件大小: | |
|
这是程序,那两个错误我用红色标注了,还有数据也附上(只能上传xlsx格式的,不能传csv格式)。请问是哪里出了错误?因为是要用这个R语言完成一门课的作业,但是以前也没有学过,用的现成的程序,所以不是很懂。
###データファイルの読み込み > Data<-read.csv("E:/研一/离散/动态定制公交/动态定制公交数据/汇总数据.csv",header=T) > > hh<-nrow(Data)##数据数:data行数究竟有多少 > ch<- 3##此次使用的选项 > > b0<-c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) > ## Logit model 对数似然函数的定义 > fr <- function(x) { + ##参数: + ##常数项 + + b1 <- x[1] + b2 <- x[2] + + ##单程票价 + + dt1 <- x[3] + + ##总时间(min) + + dt2 <- x[4] + + ##绕行时间 + + dt3 <- x[5] + + ##之前的交通方式 + + dm1 <- x[6] + dm2 <- x[7] + dm3 <- x[8] + + + ##乘坐次数 + + dn1 <- x[9] + + ##出行目的 + + dp1 <- x[10] + + ##单程距离 + + dt4 <- x[11] + + ##优点 + + dm1 <- x[12] + dm2 <- x[13] + dm3 <- x[14] + dm4 <- x[15] + dm5 <- x[16] + dm6 <- x[17] + dm7 <- x[18] + + ##缺点 + + df1 <- x[19] + df2 <- x[20] + df3 <- x[21] + df4 <- x[22] + df5 <- x[23] + + ##满意度 + + ds1 <- x[24] + ds2 <- x[25] + + ##个人属性 + ##性别 + dg1 <- x[26] + + ##年龄 + da1 <- x[27] + + ##交通支出 + de1 <- x[28] + + ##职业 + dc1 <- x[29] + + LL=0 + ##A= 1001 + ##B= 1002 + ##C= 1003 + + ##効用の計算:説明変数にしたい列を入れる + ##单程票价 ##总时间 ##绕行时间 ##交通方式 ##乘坐次数 ##出行目的 ##单程距离 ##优点 ##缺点 ##满意度 ##性别 ##年龄 ##交通支出 ##职业 ##定数项 + A <- dt1*Data[,30] + dt2*Data[,31] + dt3*Data[,32] +dm1*Data[,7] + dm2*Data[,8] + dm3*Data[,9]+ dn1*Data[,10] + dp1*Data[,11] + dt4*Data[,12] + dm1*Data[,13] + dm2*Data[,14] + dm3*Data[,15] + dm4*Data[,16] + dm5*Data[,17] + dm6*Data[,18] + dm7*Data[,19] + df1*Data[,20] + df2*Data[,21] + df3*Data[,22] + df4*Data[,23] + df5*Data[,24]+ ds1*Data[,27] + ds2*Data[,28] + dg1*Data[,2] + da1*Data[,3] + de1*Data[,5]+dc1*Data[,6]+ b2*matrix(1,nrow =hh,ncol=1) + B <- dt1*Data[,33] + dt2*Data[,34] + dt3*Data[,35] +b1*matrix(1,nrow =hh,ncol=1) + C <- dt1*Data[,36] + dt2*Data[,37] + dt3*Data[,38] + ##选择概率的计算 + PPA <- exp(A)/(exp(A)+exp(B)+exp(C)) + PPB <- exp(B)/(exp(A)+exp(B)+exp(C)) + PPC <- exp(C)/(exp(A)+exp(B)+exp(C)) + + PA <- (PPA!=0)*PPA + (PPA==0) + PB <- (PPB!=0)*PPB + (PPB==0) + PC <- (PPC!=0)*PPC + (PPC==0) + + ##选择结果 + CA<- Data[,39]==1001 + CB<- Data[,39]==1002 + CC<- Data[,39]==1003 + + ##似然函数的计算 + LL<-colSums(CA*log(PA) + CB*log(PB)+ CC*log(PC)) + + } > > ##对数似然函数fr的最大化 > res<-optim(b0,fr, method = "BFGS", hessian = TRUE, control=list(fnscale=-1)) 错误于optim(b0, fr, method = "BFGS", hessian = TRUE, control = list(fnscale = -1)) : 'vmmin'的初始值不能为无穷大 > > ## estimated parameter > b<-res$par > hhh<-res$hessian > > ## t值的计算 > tval<-b/sqrt(-diag(solve(hhh))) 错误于solve.default(hhh) : Lapack例行程序dgesv: 系统正好是奇异的 > > ##初期尤度 > L0 <- hh*log(1/ch) > ##最終尤度 > LL <- res$value > > ## 適合度の計算 > ##結果の出力 > ##ρ^2値 > print((L0-LL)/L0) [1] 0.4149937 > ##修正済ρ^2値 > print((L0-(LL-length(b)))/L0) [1] 0.3694817 > > print(res) $par [1] -0.429536540.11240110 -0.29608621 -0.42642672 -0.063969570.47307311 -0.133414560.318611390.000000000.000000000.000000000.00000000 $value [1] -154.2468 $counts function gradient 50 18 $convergence [1] 0 $message NULL $hessian [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [1,]-31.86689319.08024 -30.90659 44.452377 -134.46467 -16.04825922.540420 5.110847 0 0 0 0 [2,] 19.080239 -31.71610 46.99053-20.706819 309.8236610.051502 -38.603086 5.446630 0 0 0 0 [3,]-30.90658846.99053 -1589.64483416.848184 967.14577 -14.87913163.811753 -13.431721 0 0 0 0 [4,] 44.452377 -20.70682 416.84818 -369.731637 309.8063019.653960 -26.675049-7.326888 0 0 0 0 [5,] -134.464669 309.82366 967.14577309.806304 -12771.88780 -81.259126 377.191737 -85.652873 0 0 0 0 [6,]-16.04825910.05150 -14.87913 19.653960 -81.25913 -16.048259 7.672827 2.009379 0 0 0 0 [7,] 22.540420 -38.60309 63.81175-26.675049 377.19174 7.672827 -72.091173 7.051744 0 0 0 0 [8,] 5.110847 5.44663 -13.43172 -7.326888 -85.65287 2.009379 7.051744 -15.203331 0 0 0 0 [9,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0 [10,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0 [11,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0 [12,] 0.000000 0.00000 0.00000 0.000000 0.00000 0.000000 0.000000 0.000000 0 0 0 0 > print(tval) |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明