R語言 陣列

2021-08-18 07:17:59 字數 4102 閱讀 5623

陣列是可以在兩個以上維度中儲存資料的r資料物件。 例如 - 如果我們建立乙個維度(2,3,4)的陣列,則它建立4個矩形矩陣,每個矩陣具有2行和3列。 陣列只能儲存資料型別。

使用array()函式建立陣列。 它使用向量作為輸入,並使用dim引數中的值建立陣列。

例以下示例建立乙個由兩個3x3矩陣組成的陣列,每個矩陣具有3行和3列。

# create two vectors of different lengths.

vector1 <- c(5,9,3)

vector2 <- c(10,11,12,13,14,15)

# take these vectors as input to the array.

result

<- array(c(vector1,vector2),dim = c(3,3,2))

print(result)

當我們執行上面的**,它產生以下結果 -

, , 1

[,1] [,2] [,3]

[1,] 5

1013

[2,] 9

1114

[3,] 3

1215

, , 2

[,1] [,2] [,3]

[1,] 5

1013

[2,] 9

1114

[3,] 3

1215

命名列和行

我們可以使用dimnames引數給陣列中的行,列和矩陣命名。

# create two vectors of different lengths.

vector1 <- c(5,9,3)

vector2 <- c(10,11,12,13,14,15)

column.names

<- c("col1","col2","col3")

row.names

<- c("row1","row2","row3")

matrix.names

<- c("matrix1","matrix2")

# take these vectors as

input

to the array.

result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names,column.names,

matrix.names))

print(result)

當我們執行上面的**,它產生以下結果 -

, , matrix1

col1 col2 col3

row1 5

1013

row2 9

1114

row3 3

1215

, , matrix2

col1 col2 col3

row1 5

1013

row2 9

1114

row3 3

1215

訪問陣列元素
# create two vectors of different lengths.

vector1 <- c(5,9,3)

vector2 <- c(10,11,12,13,14,15)

column.names

<- c("col1","col2","col3")

row.names

<- c("row1","row2","row3")

matrix.names

<- c("matrix1","matrix2")

# take these vectors as

input

to the array.

result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names,

column.names, matrix.names))

# print the third row

of the second matrix of the array.

print(result[3,,2])

# print the element in the 1st row

and3rd column

of the 1st matrix.

print(result[1,3,1])

# print the 2nd matrix.

print(result[,,2])

當我們執行上面的**,它產生以下結果 -

col1

col2

col3

3 12 15

[1] 13

col1

col2

col3

row1 5 10 13

row2 9 11 14

row3 3 12 15

運算元組元素

由於陣列由多維構成矩陣,所以對陣列元素的操作通過訪問矩陣的元素來執行。

# create two vectors of different lengths.

vector1 <- c(5,9,3)

vector2 <- c(10,11,12,13,14,15)

# take these vectors as input to the array.

array1 <- array(c(vector1,vector2),dim = c(3,3,2))

# create two vectors of different lengths.

vector3 <- c(9,1,0)

vector4 <- c(6,0,11,3,14,1,2,6,9)

array2 <- array(c(vector1,vector2),dim = c(3,3,2))

# create matrices from these arrays.

matrix1 <- array1[,,2]

matrix2 <- array2[,,2]

# add the matrices.

result <- matrix1+matrix2

print(result)

當我們執行上面的**,它產生以下結果 -

[,1] [,2] [,3]

[1,] 10

2026

[2,] 18

2228

[3,] 6

2430

跨陣列元素的計算

語法(x, margin, fun)

以下是所使用的引數的說明 -

# create two vectors of different lengths.

vector1 <- c(5,9,3)

vector2 <- c(10,11,12,13,14,15)

# take these vectors as input to the array.

new.array

<- array(c(vector1,vector2),dim = c(3,3,2))

print(new.array)

result

print(result)

當我們執行上面的**,它產生以下結果 -

, , 1

[,1] [,2] [,3]

[1,] 5

1013

[2,] 9

1114

[3,] 3

1215

, , 2

[,1] [,2] [,3]

[1,] 5

1013

[2,] 9

1114

[3,] 3

1215

[1] 56

6860

R語言定義多維陣列

r語言定義多維陣列 陣列有乙個特徵屬性叫做維數向量 dim屬性 維數向量是乙個元素取正整數值的向量 其長度是陣列的維數,比如維數向量有兩個元素時陣列為二維陣列 矩陣 維數向量的 每乙個元素指定了該下標的上界,下標的下界總為1。一組值只有定義了維數向量 dim屬性 後才能被看作是陣列。比如 z 1 1...

R語言中的陣列

陣列 不同於矩陣和資料框,維度大於2。r中最簡單的陣列 3維。行,列,面 如下兩行 三列 四面的陣列。dim1 c a1 a2 dim2 c b1 b2 b3 dim3 c c1 c2 c3 c4 dat array 1 24,c 2,3,4 dimnames list dim1,dim2,dim3...

R語言基礎 陣列和列表

陣列 array 一維資料是向量,二維資料是矩陣,陣列是向量和矩陣的直接推廣,是由三維或三維以上的資料構成的.陣列函式是array 語法是 array dadta,dim 當中data必須是同一型別的資料。dim是各維的長度組成的向量。1 產生乙個三維和四維陣列。例1 xx array 1 24,c...