全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3339 11
2010-09-12
问题一:
if...else语句下可否一个条件二个结果?
x=3;y=0
if(x>2)
  x=x+1
  y=x-1
  else
  x=x-1
  y=x+1
(已验算有错误提示,请问可有其他方法方式?)
问题二:
如何避免使用for循环而用向量形式来表示向量分段条件?
x=2:4
for(i in 1:3){
if(x>3)
x=x+1
else if(x=3)
x=x
else
x=x-1
}
向量形式的ifelse(con1,sta1,ifelse(con2,sta2,sta3))好像也不行....
二维码

扫码加我 拉你入群

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

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

全部回复
2010-9-12 09:55:33
第一个问题:x=x+1与  y=x-1两条语句要用花括号{}扩在一起。类似于c语言。
二维码

扫码加我 拉你入群

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

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

2010-9-12 09:59:19
好像不行。。。谢谢

> x=3;y=0
> if(x>2){
+   x=x+1
+   y=x-1}
>   else{
错误: 意外的'else'在"  else"里
>   x=x-1
>   y=x+1}
错误: 意外的'}'在"  y=x+1}"里
>
二维码

扫码加我 拉你入群

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

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

2010-9-12 10:13:16
x=3;y=0
if(x>2){
  x=x+1;
  y=x-1;
}  else{
  x=x-1;
  y=x+1;
}

主要问题在于你在命令行输入第一个if语句之后,用}结束,R就不知道你后面有没有else,而是认为你的if语句已经写完。这时候你再提交else,R不会将它与前面的if匹配,所以报错。所以,}写在else之前,就是提醒R,if语句还没有写完。
二维码

扫码加我 拉你入群

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

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

2010-9-12 10:26:38
第一个问题好了,谢谢warrenzhang
二维码

扫码加我 拉你入群

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

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

2010-9-12 20:58:39
学习了     
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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