我想要创建一个三维数组。
这是我尝试过的方法:
z<-c(160,720,420)
first_data_set <-array(dim = length(file_1), dimnames = z)
我读取的数据只有x和y两个维度。同样格式的其他数据也需要放到同一个数组里面,等到所有数据都读取完毕后,它们将全部存在同一个数组中,但不会互相覆盖。
因此,我认为数组必须是三维的;否则,在循环中无法保存所有读取的数据。
假设你有两个大小为3x4的矩阵:
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 = ',')
}
file_1
看起来是什么样子?你能够粘贴或者链接到dput(file_1)
的输出吗? - David LeBauer