- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲:语句组,循环,条件控制
事件处理的逻辑模式
顺序执行
按条件作出是否执行的判断
根据某种条件变化反复执行
根据不同的情况作出相应的执行
一、组合表达式
为实现某一功能而使各种命令表达式组合在一起形成一个复合表达式,形式一般为:
{ expr_1
expr_2
…
expr_n
}
二、条件控制语句
if (condition1)
statement1
else if (condition2)
statement2
else
statement3
condition语句返回一逻辑值,为TRUE时执行,为FALSE时跳过
逻辑运算符:
#逻辑与
|| #逻辑或
优先对向量的第一个元素进行运算
#逻辑与
| #逻辑或
! #逻辑非
按照逐个元素的方式进行计算
== #恒等
#大于
= #大于等于
#小于
= #小于等于
x-8
if (x=10)
{
x-x+10
cat(x=,x,\n)
}
else if (x=7)
{
x-x+7
cat(x=,x,\n)
}
else
{
x-x+5
cat(x=,x,\n)
}
例子:
x-8
If (0) { #condition不为0,执行
if (x=10)
{
x-x+10
cat(x=,x,\n)
}
else if (x=7)
{
x-x+7
cat(x=,x,\n)
}
else
{
x-x+5
cat(x=,x,\n)
}
}
X-1:9 #x-paste(c(X,Y),1:10,sep=)
If (!is.numeric(x) !plex(x) !is.logical(x))
{
warning(argument is not numeric or logical: returning NA)
return(NA_real_)
}
例子:
例子:分析outer函数的计算过程
X-matrix(1:4,nrow=2)
Y-array(1:6,dim=c(3,2))
X
[,1] [,2]
[1,] 1 3
[2,] 2 4
Y
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
outer(Y,X) #Y%o%X
, , 1, 1
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
, , 2, 1
[,1] [,2]
[1,] 2 8
[2,] 4 10
[3,] 6 12
, , 1, 2
[,1] [,2]
[1,] 3 12
[2,] 6 15
[3,] 9 18
, , 2, 2
[,1] [,2]
[1,] 4 16
[2,] 8 20
[3,] 12 24
两个数组的外积
outer(Y,X,FUN=+)
, , 1, 1
[,1] [,2]
[1,] 2 5
[2,] 3 6
[3,] 4 7
, , 2, 1
[,1] [,2]
[1,] 3 6
[2,] 4 7
[3,] 5 8
, , 1, 2
[,1] [,2]
[1,] 4 7
[2,] 5 8
[3,] 6 9
, , 2, 2
[,1] [,2]
[1,] 5 8
[2,] 6 9
[3,] 7 10
X
[,1] [,2]
[1,] 1 3
[2,] 2 4
Y
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
可以改变计算函数FUN:+,-,*,/,^
outer(X,
文档评论(0)