全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3686 4
2018-06-28
比如:
a="2018/05/31"
b="2018/04/30"
c="2018/03/31"
ff=as.Date(c(b,c))
for(i in ff){
  require(lubridate)
  t1=interval(a, ymd(i))         #修改截止日期
  t1_n=time_length(t1,"month")
  print(t1_n)
}

跑出的结果是NA,提示
1: All formats failed to parse. No formats found.

不知道该怎么修改,求大神解答~

二维码

扫码加我 拉你入群

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

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

全部回复
2018-6-28 14:57:05
t1=interval(a, i)
二维码

扫码加我 拉你入群

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

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

2018-6-28 15:14:58
ff=as.Date(c(b,c))  改为  ff=c(b,c)

官方文档说,
The index seq in a for loop is evaluated at the start of the loop; changing it subsequently does not affect the loop. The variable var has the same type as seq. If seq is a factor (which is not strictly allowed) then its internal codes are used: the effect is that of as.integer not as.vector.
你的i会和ff保持同样的type,而typeof(ff)是double,会将i视为double型,i转化成了数字,导致了NA
二维码

扫码加我 拉你入群

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

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

2018-7-23 10:29:28
cheetahfly 发表于 2018-6-28 14:57
t1=interval(a, i)
感谢!问题已经解决了,谢谢~!
二维码

扫码加我 拉你入群

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

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

2018-7-23 10:30:02
万人往LVR 发表于 2018-6-28 15:14
ff=as.Date(c(b,c))  改为  ff=c(b,c)

官方文档说,
感谢!问题已经解决了,谢谢~!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群