R语言中的for循环
(2011-06-13 14:01:29)
标签:
杂谈 |
分类: R软件学习 |
R语言中的for循环
循环控制:for循环,repeat
和while R 语言有下面形式的for 循环架构 > for (name in expr 1 ) expr 2 其中name 是循环变量,expr 1 是一个向量表达式(常常以1:20这种形式出现), 而expr 2 常常是根据虚拟变量name 而设计的成组表达式。在name 访问expr 1 所有 可以取到的值时,expr 2 都会运行。 下面是个例子。假定ind 是分类指标向量(vector of class indicators),我们将 依这种分类指标绘制y 对x的散点图。一种方法时用函数coplot()3 产生对应因子各个 水平的散点图。另外一种方法就是把所有图在屏幕上同时显示,如下面命令所示: > xc <- split(x, ind) > yc <- split(y, ind) > for (i in 1:length(yc)) { plot(xc[[i]], yc[[i]]); abline(lsfit(xc[[i]], yc[[i]])) } (函数split() 通过某个因子把一个大的向量分成一系列小的向量。这是一个非常 有用的函数,常常和盒状图一起使用。具体细节可以用help 命令得到。) 警告:相比其他程序语言,R 代码里面很少使用for() 形式的循环语 句。在R 里面用`完整对象'(whole object)形式可能既清晰又高效4。 其他循环语句包括 > repeat expr 和语句 > while (condition) expr 关键字break可以用于结束任何循环,甚至是非常规的。它是结束repeat 循环的 唯一办法。 关键字next 可以用来结束一次特定的循环,然后直接跳入\下一次"循环。 控制语句的应用常常和函数相关。这在下一章编写你自己的函数<页码:54>中 会详细讨论,同时也会引用更多的例子。 |