在R中替换matlab的reshape()?

时间:2018-05-14 06:54:46

标签: r matlab tiff

我想实现reshape(X3,[],5)命令,我在matlab中使用R

我有X3.tif个文件(200 * 150 * 5) nrows = 200 ncols = 150且nbands = 5

我使用此命令将tif保存在datafeame中

a <- brick('X3.tif')

X3是3D数据,但我想将其保存为维度矩阵 [(200 * 150)* 5] 所以我有(nbands作为colums数)

如果使用:

A <- as.data.frame.matrix(a)

它存储尺寸为200 * 150的矩阵并消除nband = 5

由于

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是:

#Sample matrix
myMatrix <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8))
myMatrix 
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
[6,]    6
[7,]    7
[8,]    8

试试这个:

myMatrix_new <- matrix(myMatrix, nrow = 2, byrow = TRUE)
myMatrix_new

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8

在帮助?matrix下,您可以找到参数nrowncolbyrow,可让您自动设置行数,列数和数量,如果您愿意的话喜欢。