楼主: Cnstopit
1389 4

[问答] 请教大神们,循环的时候出现这个错误是为什么?该如何解决? [推广有奖]

  • 4关注
  • 0粉丝

本科生

29%

还不是VIP/贵宾

-

威望
0
论坛币
2517 个
通用积分
0.7500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1820 点
帖子
77
精华
0
在线时间
81 小时
注册时间
2017-7-11
最后登录
2024-3-31

楼主
Cnstopit 发表于 2017-8-13 21:04:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
#generate time sequence
time <- seq.Date(from = as.Date("2002/01/01",format = "%Y/%m/%d"), by = "week", length.out = 679)
tail(time)
#transfer time sequence to matrix
time=matrix(time,nrow = length(time),ncol = 1)

dim(time)

slope3_1=matrix(NA,nrow=679,ncol=439) #679weeks, 439firms  

for(i in 1:439){
  stock=read.csv(paste("E:/CDS_data/stock_1/stock.", i,".csv", sep=""),header=T,stringsAsFactors=F,fill=TRUE)
  stock=select(stock,firms,date,slope3)
  stock[,"date"]=as.Date(stock[,"date"],form="%Y-%m-%d")
  tseq=as.character(time)
  tseq=as.Date(time,form="%Y/%m/%d")
  for(j in 1:679){

    if(stock[j,"date"]>=tseq[length(tseq)]){
      slope3_1[length(tseq),i]=stock[j,"slope3"]
      next
    }

    for(k in 1:678){

      if((stock[j,"date"]>=tseq[k])&(stock[j,"date"]<tseq[k+1])){
        slope3_1[k,i]=stock[j,"slope3"]
        break
      }

    }


  }
}
Error in if (stock[j, "date"] >= tseq[length(tseq)]) { :
  missing value where TRUE/FALSE needed

二维码

扫码加我 拉你入群

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

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

关键词:generate sequence missing length NEEDED

沙发
sanqi_jgzj 发表于 2017-8-13 21:48:54 来自手机
对停牌做处理了吗

藤椅
sanqi_jgzj 发表于 2017-8-13 21:50:47 来自手机
时间序列和价格序列的长度不一致

板凳
Cnstopit 发表于 2017-8-13 22:46:55
sanqi_jgzj 发表于 2017-8-13 21:50
时间序列和价格序列的长度不一致
你好,我是有公司的不规则CDS spread的数据,是面板数据,然后想做一张规则的表,把有日期的数据放进去,没有的就是NA。但是循环就出现这个问题,不知道如何解决,还望大神赐教

报纸
Cnstopit 发表于 2017-8-13 22:47:16
sanqi_jgzj 发表于 2017-8-13 21:48
对停牌做处理了吗
没有,应该怎么处理啊?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-20 04:08