20703 13

[实际应用] R代码运行后出现replacement has length zero,怎么解决求帮助!谢谢! [推广有奖]

  • 1关注
  • 0粉丝

大专生

1%

还不是VIP/贵宾

-

威望
0
论坛币
16 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
850 点
帖子
32
精华
0
在线时间
24 小时
注册时间
2014-3-8
最后登录
2022-5-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
RUS1m<- matrix(NA,187,36)
for (i in 1:187)
{
  for (j in 1:36)
   {
    if(is.na(io1m.m[i,j])==TRUE|is.na(io1m.m$US)==TRUE) {NA->RUS1m[i,j]}
     else if(io1m.m[i,j]-io1m.m$US<0) {((ebs.m[i+1,j])/eos.m[i,j]*(1+io1m.m$US/12)-(1+io1m.m[i,j]/12))*100->RUS1m[i,j]}
      else if(io1m.m[i,j]-io1m.m$US>0) {((ebs.m[i,j])/eos.m[i+1,j]*(1+io1m.m[i,j]/12)-(1+io1m.m$US/12))*100->RUS1m[i,j]}
       else {0->RUS1mt[i,j]}
}
}
Error in RUS1m[i, j] <- ((ebs.m[i + 1, j])/eos.m[i, j] * (1 + io1m.m$US/12) -  : replacement has length zero

二维码

扫码加我 拉你入群

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

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

关键词:replacement placement replace length Cement Error

回帖推荐

万人往LVR 发表于12楼  查看完整内容

改为 as.numeric(ebs.m)/as.numeric(eos.m)
加油
沙发
万人往LVR 在职认证  发表于 2015-12-25 11:37:09 |只看作者 |坛友微信交流群
((ebs.m[i + 1, j])/eos.m[i, j] * (1 + io1m.m$US/12) 里面有空值

使用道具

藤椅
天高云淡小清新 学生认证  发表于 2015-12-25 11:57:05 |只看作者 |坛友微信交流群
万人往LVR 发表于 2015-12-25 11:37
((ebs.m)/eos.m * (1 + io1m.m$US/12) 里面有空值
那我应该怎么办呢?

使用道具

板凳
万人往LVR 在职认证  发表于 2015-12-25 13:08:13 |只看作者 |坛友微信交流群
天高云淡小清新 发表于 2015-12-25 11:57
那我应该怎么办呢?
告诉圣诞老人把空值变没

使用道具

报纸
天高云淡小清新 学生认证  发表于 2015-12-25 13:28:14 |只看作者 |坛友微信交流群
万人往LVR 发表于 2015-12-25 13:08
告诉圣诞老人把空值变没
圣诞快乐,但是我昨晚忘把这题放袜子里面艾特圣诞老人了。。。你有什么好的建议可以解决这个问题吗?

使用道具

地板
万人往LVR 在职认证  发表于 2015-12-25 14:04:59 |只看作者 |坛友微信交流群
ebs.m、eos.m 、io1m.m这三个变量看看那些是空值,把空值去了

例如ebs.m[is.na(ebs.m)]

使用道具

7
天高云淡小清新 学生认证  发表于 2015-12-25 14:08:30 |只看作者 |坛友微信交流群
万人往LVR 发表于 2015-12-25 14:04
ebs.m、eos.m 、io1m.m这三个变量看看那些是空值,把空值去了

例如ebs.m
我想把涉及空值的计算结果就以空值代替可以吗

使用道具

8
万人往LVR 在职认证  发表于 2015-12-25 14:16:32 |只看作者 |坛友微信交流群
搞不懂
出错时候你直接看看i和j分别是几,直接把i、j带进去看出了什么问题

使用道具

9
天高云淡小清新 学生认证  发表于 2015-12-25 14:39:22 |只看作者 |坛友微信交流群
万人往LVR 发表于 2015-12-25 14:16
搞不懂
出错时候你直接看看i和j分别是几,直接把i、j带进去看出了什么问题
i=1,j=2原因好像就在(ebs.m[i + 1, j])/eos.m[i, j],因为
ebs.m[2,2]
一月 2000
   1.5674
eos.m[1,2]
十二月 1999
    1.52929
(ebs.m[i + 1, j])/eos.m[i, j]
Data:
numeric(0)
所以应该就是数据中的日期不对造成的,那么我应该怎么修改才可以呢,自己是新手,还要多多麻烦你啦

使用道具

10
万人往LVR 在职认证  发表于 2015-12-25 15:58:41 |只看作者 |坛友微信交流群
str(ebs.m[2,2])
str(eos.m[1,2])
运行结果贴出来

使用道具

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

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

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

GMT+8, 2024-4-29 02:08