R语言 创建偶数序列的二维数组

R语言 创建偶数序列的二维数组

在这篇文章中,我们将讨论如何在R编程语言中创建一个偶数整数序列的二维数组。

方法1:使用seq()方法

array()方法可以用来创建一个>=1维的数组。该方法返回一个具有dim属性中指定的外延的数组。对于一个二维数组,dim属性包含一个由两个元素组成的向量,首先表示行的数量,然后表示列的数量。

语法: array(data , dim)

参数:

  • data – 要填充到数组中的数据
  • dim – 矩阵的尺寸,以矢量的形式表示

此方法中的数据可以使用seq()方法来创建,该方法用于在定义的数字范围内生成规则序列。

语法: seq(from = 1, to = 1, length.out , by = ((to – from)/(length.out – 1))

参数

  • from, to – (默认值:1)序列的起始值和(最大的)结束值。
  • by – 序列递增的数字指标。
  • length.out – 序列长度的一个非负整数指标。

在这种方法中,from属性必须是偶数,以便产生一个偶数的序列。length.out参数将等于二维矩阵的尺寸乘积。而by属性的值为2,以便每次将数字递增2。

例子

# creating integers
mat <- seq(from = 2, length.out = 12, by = 2)
  
# creating dimensions
dim <- c(4, 3)
arr <- array( mat , dim )
  
print("Array of even integers sequence:")
print(arr)

输出

[1] "Array of even integers sequence:"
     [,1] [,2] [,3]
[1,]    2   10   18
[2,]    4   12   20
[3,]    6   14   22
[4,]    8   16   24

方法2:手动使用for循环

开始数据序列的起始位置与二维数组的所需尺寸一起被指定。 由于所需元素的总数等于尺寸的乘积,但在这里我们需要在交替的位置出现偶数。因此,元素的总数将相当于尺寸乘积的两倍。现在,结束位置是由:

结束位置=开始位置+元素数

开始一个for循环,从起始位置到结束位置-1进行迭代,在这个范围内产生一个元素序列,每当遇到一个偶数,这个数字就被追加到一个空列表中。这个向量形成了偶数的序列,可以输入到R基的matrix()方法中,从而创建一个2D矩阵。

语法

matrix(data , nrow = )

在非常大的维度尺寸之前,时间复杂度可以被认为是几乎恒定的。

例子

# specifying where to start the 
# even integers from 
start_pos <- 20
  
# specifying dimensions of matrix
nrow <- 3
ncol <- 2
  
# calculating starting position
end_pos = (nrow * ncol * 2) + start_pos
  
# creating empty vector
vec <- c()
for (i in start_pos : end_pos-1){
    
    # check if element is divisible by 2
    if(!(i%%2)){
      
        # append element to vector
        vec <- c(vec, i )
    }
}
  
# creating matrix 
mat <- matrix(vec , nrow = 3)
print ("Sequence of even integers in 2-D array")
print (mat)

输出

[1] "Sequence of even integers in 2-D array"
      [,1] [,2]
[1,]   20   26
[2,]   22   28
[3,]   24   30

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程