找回密码
 注册
查看: 1797|回复: 0

R语言:Control()函数中文帮助文档(中英文对照)

[复制链接]
发表于 2012-2-16 21:43:32 | 显示全部楼层 |阅读模式
Control(base)
Control()所属R语言包:base

                                        Control Flow
                                         控制流

                                         译者:生物统计家园网 机器人LoveR

描述----------Description----------

These are the basic control-flow constructs of the R language.  They function in much the same way as control statements in any Algol-like language.  They are all reserved words.
这些都是基本的控制流结构的R语言。它们的功能相同的方式在任何的Algol类语言的控制语句。他们都是保留字。


用法----------Usage----------


if(cond) expr
if(cond) cons.expr  else  alt.expr

for(var in seq) expr
while(cond) expr
repeat expr
break
next



参数----------Arguments----------

参数:cond
A length-one logical vector that is not NA. Conditions of length greater than one are accepted with a warning, but only the first element is used.  Other types are coerced to logical if possible, ignoring any class.  
一个长度为一个逻辑的向量,是不是NA。长度大于一的条件是接受一个警告,但只有第一个元素使用。其他类型的强制逻辑,如果可能的话,忽略任何类。


参数:var
A syntactical name for a variable.
一个变量的语法名称。


参数:seq
An expression evaluating to a vector (including a list and an expression) or to a pairlist or NULL.  A factor value will be coerced to a character vector.
矢量(包括列表和表达式)或到pairlist或NULL的一个表达式。一个因素的值将被强制转换为一个字符向量。


参数:expr, cons.expr, alt.expr
An expression in a formal sense.  This is either a simple expression or a so called compound expression, usually of the form { expr1 ; expr2 }.  
在正式意义上的表达。这是一个简单的表达,或所谓的复合表达式通常的形式{ expr1 ; expr2 }。


Details

详情----------Details----------

break breaks out of a for, while or repeat loop; control is transferred to the first statement outside the inner-most loop. next halts the processing of the current iteration and advances the looping index.  Both break and next apply only to the innermost of nested loops.
break出for,while或repeat循环;控制权转移到外面的最内层循环的第一条语句。 next停止处理当前迭代和推进循环指数。既break和next只适用于嵌套循环的最内层。

Note that it is a common mistake to forget to put braces ({ .. }) around your statements, e.g., after if(..) or for(....). In particular, you should not have a newline between } and  else to avoid a syntax error in entering a if ... else construct at the keyboard or via source. For that reason, one (somewhat extreme) attitude of defensive programming is to always use braces, e.g., for if clauses.
请注意,这是一个常见的错误,忘记把周围的发言括号({ .. }),如if(..)或for(....)之后,。特别是,你不应该有一个换行符之间}和else,以避免在进入if ... else构造在键盘上的或通过source的语法错误。 (有点极端)防御性编程的态度是出于这个原因,总是使用括号,例如,if条款。

The seq in a for loop is evaluated at the start of the loop; changing it subsequently does not affect the loop.  If seq has length zero the body of the loop is skipped. Otherwise the variable var is assigned in turn the value of each element of seq. You can assign to var within the body of the loop, but this will not affect the next iteration.  When the loop terminates, var remains as a variable containing its latest value.
seq在被评为for循环,在循环的开始;更改后不影响循环。如果seq长度为零的循环体将被跳过。否则,变量var被分配在开启的每个seq元素的值。你可以指定var内循环体,但是这不会影响下一次迭代。循环结束时,var仍然是一个包含其最新值的变量。


值----------Value----------

if returns the value of the expression evaluated, or NULL invisibly if none was (which may happen if there is no else).
if返回表达式的值进行评估,或NULL无形如果没有(可能发生,如果有没有else)。

for, while and repeat return NULL invisibly. for sets var to the last used element of seq, or to NULL if it was of length zero.
for,while和repeat回NULL无形。 for设置var最后seq元素,或NULL如果它的长度为零。

break and next do not return a value as they transfer control within the loop.
break和next不返回值,因为他们控制环路内传输。


参考文献----------References----------

The New S Language. Wadsworth & Brooks/Cole.

参见----------See Also----------

Syntax for the basic R syntax and operators, Paren for parentheses and braces.
Syntax基本R语法和运营商,Paren括号和大括号。

ifelse, switch for other ways to control flow.
ifelse,switch其他的方式来控制流量。


举例----------Examples----------


for(i in 1:5) print(1:i)
for(n in c(2,5,10,20,50)) {
   x <- stats::rnorm(n)
   cat(n,":", sum(x^2),"\n")
}
f = factor(sample(letters[1:5], 10, replace=TRUE))
for( i in unique(f) ) print(i)

转载请注明:出自 生物统计家园网(http://www.biostatistic.net)。


注:
注1:为了方便大家学习,本文档为生物统计家园网机器人LoveR翻译而成,仅供个人R语言学习参考使用,生物统计家园保留版权。
注2:由于是机器人自动翻译,难免有不准确之处,使用时仔细对照中、英文内容进行反复理解,可以帮助R语言的学习。
注3:如遇到不准确之处,请在本贴的后面进行回帖,我们会逐渐进行修订。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2025-1-23 13:12 , Processed in 0.028956 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表