3

3次元の配列を作りたいです。

これが私が試したものです:

z<-c(160,720,420)
first_data_set <-array(dim = length(file_1), dimnames = z)

私が読んでいるデータは1つのレベルにあります。(x と y のみ) 同じ形式のデータが他にもあり、最初のデータと同じ配列に入れる必要があります。したがって、すべてのデータの読み取りが完了すると、それらはすべて同じ配列にありますが、上書きはありません。

したがって、配列は3次元でなければならないと思います。そうしないと、読み取ったすべてのデータをループで保持できません。

4

1 に答える 1

7

サイズが3x4の2つの行列があるとします。

m1 <- matrix(rnorm(12), nrow = 3, ncol = 4)
m2 <- matrix(rnorm(12), nrow = 3, ncol = 4)

それらを配列に配置する場合は、最初にNAの配列を作成します。

A <- array(as.numeric(NA), dim = c(3,4,2))

次に、レイヤーにデータを入力します。

A[,,1] <- m1
A[,,2] <- m2

@Justinが提案しているように、行列をリストにまとめることもできます。

A2 <- list()
A2[['m1']] <- m1
A2[['m2']] <- m2

ファイルからマトリックスを読み取るには:リストを使用すると、事前にディメンションを指定しなくても、ディレクトリ内のファイルからこれらのマトリックスを簡単に取得できます。csv拡張子が次のすべてのファイルが必要だと仮定します。

myfiles <- dir(pattern = ".csv")
for (i in 1:length(myfiles)){
   A2[[myfiles[i]]] <- read.table(myfiles[i], sep = ',')
}
于 2012-04-10T19:54:56.557 に答える