【发布时间】:2014-02-01 21:19:21
【问题描述】:
所以我是 R 的新手,我正在尝试在不使用循环的情况下完成任务。
我有一个包含 while 循环的函数,这是一个例子:
some.Function(x,y,z,i){
//do stuff
while(i>0){
//do more stuff
}
return(x)
}
我想知道(我在网上找不到任何证据)是,可以用逻辑表达式代替 while 循环吗? (例如,仅当 i > 0 时才这样做)?
我知道这看起来很疯狂,每个人都只会使用 if/else、for 等,但我需要一遍又一遍地重复一项任务,但不使用循环或 if 语句,事实证明这非常困难。
【问题讨论】:
-
一般来说,
for循环可以通过使用矢量化操作(快速)或隐藏在*apply调用的地毯下来避免(不是更快,只是更漂亮)。不过,一个要求是每次迭代都独立于之前的迭代。另一方面,while循环通常涉及此类依赖关系,因此不太可能以更有效的方式对其进行重写。当然,一切都取决于您的真实情况,如果您想向我们展示您的代码在做什么,我们也许可以提供帮助。 -
使用
i>0过滤你想要完成的任何事情。
标签: r loops statistics