《R语言编程艺术》——2.3 循环补齐

简介: 本节书摘来自华章计算机《R语言编程艺术》一书中的第2章,第2.3节,作者:(美)麦特洛夫(Matloff,N.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 循环补齐

在对两个向量使用运算符时,如果要求这两个向量具有相同的长度,R会自动循环补齐(recycle),即重复较短的向量,直到它与另一个向量长度相匹配。下面是一个例子:

image

下面是一个更为巧妙的例子:

image
image

再次提醒读者,矩阵实际上是个长向量。在这里,3×2的矩阵x是一个六元向量,它在R中一列一列的存储。换句话说,在存储方面,x与c(1,2,3,4,5,6)相同。我们把二元向量c(1,2)加到这个六元向量上,则所加的二元向量要再重复两次才能变成六个元素。换句话说,实际的运算如下:

image

不仅如此,在相加之前,c(1,2,1,2,1,2)在形式上也由向量转变为与x相同维数的矩阵,即:

image

相关文章
R语言笔记丨三大法宝:判断、循环、函数
R语言笔记丨三大法宝:判断、循环、函数
|
Java 数据库 C语言
初识R语言之条件循环篇
初识R语言之条件循环篇
135 0
初识R语言之条件循环篇
R语言 循环作图
setwd("C:\\Users\\Administrator\\Desktop\\pic") # Plot separate ggplot figures in a loop.
1296 0
|
人工智能
R语言for循环①
for循环是一种重复控制结构,可以让您有效地编写一个需要执行特定次数的循环。 for (value in vector) { statements } 示例: j a for (i in c(1:length(a))) + {pr...
1135 0
|
IDE 开发工具
《R语言编程艺术》——导读
避免显式迭代是R语言的一个常见话题,这对于函数式编程语言来说是很典型的问题。你可以利用R的函数特性把迭代行为表达成隐式的,而不是用循环语句。这可以让代码执行起来更有效率,当R运行在大数据集上时运行时间会相差很大。
1948 0
《R语言编程艺术》——3.8 高维数组
本节书摘来自华章计算机《R语言编程艺术》一书中的第3章,第3.8节,作者:(美)麦特洛夫(Matloff,N.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1460 0
《R语言编程艺术》——3.7 矩阵的行和列的命名问题
本节书摘来自华章计算机《R语言编程艺术》一书中的第3章,第3.7节,作者:(美)麦特洛夫(Matloff,N.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1743 0
|
索引
《R语言编程艺术》——3.6 避免意外降维
本节书摘来自华章计算机《R语言编程艺术》一书中的第3章,第3.6节,作者:(美)麦特洛夫(Matloff,N.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1355 0
《R语言编程艺术》——3.5 向量与矩阵的差异
本节书摘来自华章计算机《R语言编程艺术》一书中的第3章,第3.5节,作者:(美)麦特洛夫(Matloff,N.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1096 0