和b
是两个数值数组,它们的外积将是这样的一个数组:维度向量通过连接两个操作数的维度向量(顺序非常的重要)得到;数据向量则由a
的数据向量元素和b
的数据向量元素的所有可能乘积得到。ab
<-
outer(a,
b,
"*")命令中的乘法操作符可以被任意一个双变量函数代替。例如,我们想研究函数f(x
y)
=
cos(y)=(1
+
x2)
在R
在向量x
和y形成的格子平面(regular
grid)上的特征,可以按下面的步骤进行:outer(1:2,1:3)实际上是省略了“*”号,实际上应该是outer(1:2,1:3,
"*")。符号其实就是指定怎么计算的。outer(1:2,1:3,"+")就是1+1:3;2+1:3.
r语言中等于号是用作赋值的功能。R语言最开始设计的时候,是采用箭头(<-)作为赋值符号的,这是从APL语言继承而来的(箭头表示赋值,等号表示判断)。之后的S语言也沿用了这个用法,再之后R语言为了保持和S语言的兼容性保留了这个箭头。直到2001年,R的更新版本中 才加入了等号(=)赋值。因此,对于一般的赋值语句,箭头(<-)与 等号(=)在 功能上是没有区别的,可以通用。但是等号(=)的作用有两个:它既可以赋值,也可以传递函数参数(实际上传参可以看作一种特殊形式的赋值,给参数赋值)。通常情况下,如果等号(=)出现在单独的环境中,它就是赋值;如果写在函数的参数位置,它就是传参。如果你在设置参数的时候使用了箭头(<-),那么你会发现在全局变量里,会多出一个和参数名相同的赋值的变量,容易导致歧义和错误,而且占用命名空间。