全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
9983 12
2010-04-24
悬赏 20 个论坛币 已解决
问题呢。。。。是这样的。。。。

我有一个MAIN FUNCTION用来做SIMULATION,我尽量把问题简单化:

for (i in 1:100){
    set.seed(i)
    a <- main(i) }

main <- function (var)
{b <-0/(i-50)
return b }

但是很明显,当i=50的时候,b的值为nan。我想知道有没有办法可以做一个控制语句,使得b为nan的时候,则不要这一次的结果,而是进行到下一个i的运算中去。
btw,忘记说了,我的程序中,如果b出现nan,则程序下面会无法运行下去,而出现错误提示。所以最好是在main里面加语句(比如,if is.nan(b) 则重新call main function。。。好像听起来很不太可行。。。),而不是if is.nan(a) { i =i+1....}这样的

不知道我是不是解释清楚了。。。谢谢大家!!

最佳答案

saiva 查看完整内容

12# rockfido ""我可以在上一步进行判断的,比如: main
二维码

扫码加我 拉你入群

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

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

全部回复
2010-4-24 00:16:22
12# rockfido

""我可以在上一步进行判断的,比如:
main <- function (var)
{bb<-(i-50)
b <-0/bb
return b }
我可以对bb进行判断,问题是,我不是说判断出bb为0,程序就终止,我希望的是,如果bb为0,就跳到下一个循环中,重新生成另一个随机数进行运算。就好象如果bb为0,则我需要再次重新call main function。。。。当然我知道在main function 里面肯定不能在call main function....这就是我纠结的地方。。。""""

是这样的,判断完之后用return就可以跳到下一个循环的...LZ看看return b;之后不就是跳到下一个循环吗?
二维码

扫码加我 拉你入群

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

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

2010-4-24 04:40:21
please try:
for (i in 1:100){
       set.seed(i)
        if(i!=50){
                    a <- main(i)
       }
}
二维码

扫码加我 拉你入群

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

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

2010-4-24 04:43:45
please try:
for (i in 1:100){
       set.seed(i)
        if(i!=50){
                    a <- main(i)
       }
}
本文来自: 人大经济论坛 详细出处参考:http://www.pinggu.org/bbs/viewthread.php?tid=784903&page=1&from^^uid=240169
二维码

扫码加我 拉你入群

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

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

2010-4-24 09:54:44
3# happyoldman

thanks for ur help....but its b/c u know already it happens only at i=50....actually in my simulation, it caused by value that we cant predict.......

but thank u all the same
二维码

扫码加我 拉你入群

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

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

2010-4-25 03:56:01
lz的意思是当c=0是b/c没有意义吗?  可以在mian函数里增加if语句,,,


for (i in 1:100)
{
    set.seed(i) ;
    a <- main(i) ;
}
main <- function (var)
{
   if((i-50)==0)
       return;
   else
{
       b <-0/(i-50);
       return b ;
}
}
不知道有没有语法错误,,对R不了解
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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