R语言第二课(3)

2018-11-21 21:31

........................................................完......................................... 控制流

将R语言操作过的命令编写成程序存在R的脚本文件里保存起来。R语句之间用分号隔开,若干个语句组成复合语句用花括号{ }。

1 分支函数:if/else和switch if/else多用于两分支:

if (cond) expr ########如果条件cond成立,则执行表 ########达式expr,否则跳过

if (cond) cons.expr else alt.expr #########如果条件cond成立,

######则执行表达式cons.expr,否则执行表达式alt.expr if (any(x<=0)) y<-log(1+x) else y<-log(x)

y<-if (any(x<=0)) log(1+x) else log(x) ######等价 if/else可以嵌套使用: If (con_1) expr_1 else if (con_2) expr_2 else if (con_3) expr_3

11

else expr_4

2 switch函数:多用于多个分支

switch(expr, list),参数expr为表达式,list为列表,如果expr的取值在1~length(list)之间,则函数返回列表相应位置的值,如果expr的取值超出范围,则无返回值: switch(1,2+3,2*3,2/3) switch(2,2+3,2*3,2/3) switch(3,2+3,2*3,2/3)

如果list有元素名,当expr等于元素名时,返回变量名对应的值,否则无返回值: y<- \

switch(y,fruit= \ \ \

3 中止语句与空语句

中止语句Break:强行中止循环,使程序调到循环以外, 空语句next:表示继续执行,而不执行任何有实质性的内容。

4 循环函数

for, while, 和repeat

1) for循环: for(var in seq) expr

12

参数var为循环变量,seq为向量表达式(通常是个序列,如:1:20), expr通常为一组表达式: C x

2) while函数:while (cond) expr, 表示当条件cond成立,则执行表达式expr。 f<-c(1,1);i<-1

while(f[i]+f[i+1]<1000) { f[i+2]<- f[i]+f[i+1] i<-i+1; } f

3) repeat函数 格式:repeat expr

repeat函数依赖中止语句(break)跳出循环,如实现上面同样功能:

f<-c(1,1);i<-1 repeat {

f[i+2]<- f[i]+f[i+1] i<-i+1

if (f[i]+f[i+1]>=1000) break

13

} f

或者改为: f<-c(1,1);i<-1 repeat {

f[i+2]<- f[i]+f[i+1] i<-i+1

if (f[i]+f[i+1]<1000) next else break } f

………………………….完……………………………

R程序设计 1 函数定义

定义函数的格式:funname<-function(arg_1,arg_2,…)

expression

####funname为函数名,function定义函数的关键词,arg_1,arg_2,…表示函数的参数,expression为表达式(通常是复合表达式),放在表达式中最后的对象(数值、向量、矩阵、数组或数据框等)为函数的返回值。

调用函数的格式: function(expr_1,expr_2,…) 注意:(1)不要在R的操作窗口下编写函数;

14

(2)在使用时,须将函数调到R中“文件-〉运行R脚本文件”,选择需要运行包含该函数的脚本,如:将其保存为 funname.R, 则运行该脚本即可使用funname函数了。

2 无参数函数 welcome<-function() print(\

######将其保存为welcome.R,运行该脚本即可使用welcome函数 3 带有参数的函数

var(x) 函数表示求向量x的方差,即 var(x)=sum((x-mean(x))^2)/(length(x)-1) sd(x) 函数表示求向量x的标准差,即sd(x)=

编写函数练习:如果X和Y分别是来自两个总体的样本, 总体的方差相同且未知,编写一个计算两样本统计量T的 函数,统计量T的公式为:

和分别代表来自两组数据样本的均值,别为两组数据样本的方差,和的个数。

15

和分

分别为两组数据样本


R语言第二课(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:5、学会感恩内容

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: