请选择 进入手机版 | 继续访问电脑版
楼主: Huihui4274
2425 1

[问答] 二进列运算符中有非数值参数 [推广有奖]

  • 0关注
  • 0粉丝

VIP1

高中生

30%

还不是VIP/贵宾

-

威望
0
论坛币
1460 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
86 点
帖子
5
精华
0
在线时间
43 小时
注册时间
2019-5-13
最后登录
2020-4-12

Huihui4274 发表于 2020-2-10 19:59:17 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求助大神,我在使用以下代码进行计算时,总是向我提示有非数值参数的错误。度娘上也没有太多的解答,所以跪求大神相助!
提示的错误为:
Error in SE * VE : 二进列运算符中有非数值参数


代码为:
T=1
library("nleqslv")
DTDslv<-function(z,type="Newton"){
  D<-z[2]
  VE<-z[3]
  SE<-z[4]
  R<-z[5]
  fnewton<-function(x){
    y<-numeric(2)
    d1=(log(x[1]/D)+(R+x[2]^2/2)*T)/X[2]/sqrt(T)
    d2=d1-x2*sqrt(T)
    y[1]<-VE-(x[1]*pnorm(d1)-exp(-R*T)*D*pnorm(d2))
    y[2]<-SE*VE-pnorm(d1)*x[2]*x[1]
    y
  }
  if(sum(is.na(z))==0){#判断na的个数
    nleqslv(c(VE,SE*VE/(D+VE)),fnewton,control=list(btol=.0001),method=type)$x
  }
  else{c(NA,NA)}
}
data=read.csv("test2.csv",header = T,na.strings=c("NA"))
VASA<-t(apply(data,1,DTDslv))#按行进行计算
colnames(VASA)<-c("asset.value","asset.vol")#更改列变量的名字


数据为:

sh

D

VE

SE

R

sh1

3.5209E+12

1.4505E+11

0.30118091

3.4759

sh2

1956875746

8061500000

0.19273783

3.4759

sh3

1.2357E+10

6060000000

0.30376502

3.4759

sh4

4437913002

9609475374

0.27980656

3.4759

sh5

1.5264E+10

1.452E+10

0.34212628

3.4759

sh6

3404710816

1.3745E+10

0.22202441

3.4759

sh7

7.093E+10

3.1641E+10

0.39694043

3.4759

sh8

1.8057E+11

5.292E+10

0.24380215

3.4759

sh9

4389213187

4755648000

0.24978394

3.4759

sh10

1.6439E+12

5.4756E+10

0.28535817

3.4759

sh11

3.0642E+12

1.7303E+11

0.31520961

3.4759

sh12

6655689193

6471353884

0.21147991

3.4759

sh13

3.0258E+10

9.9706E+10

0.45032076

3.4759

sh14

1.1066E+11

6.3416E+10

0.19158823

3.4759

sh15

2.8129E+10

4854323157

0.20097007

3.4759

sh16

2.6563E+10

1.0292E+10

0.38907129

3.4759

sh17

3.8221E+10

8602484625

0.17702286

3.4759

sh18

4.7207E+10

3782815291

0.35318697

3.4759

sh20

3.8617E+10

8392052816

0.29711074

3.4759




二维码

扫码加我 拉你入群

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

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


Huihui4274 发表于 2020-2-13 22:06:35 |显示全部楼层 |坛友微信交流群
我来自问自答吧~原因出在数据上,数据的第一列中含有sh,所以产生了这个问题。删去之后再执行就没有任何问题了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 15:45