陣列是可以在兩個以上維度中儲存資料的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...