library(raster)
r <- raster(ncol=5, nrow=5, vals=2:26)
r1 <- raster(ncol=5, nrow=5, vals=2:26)
rs=stack(r,r1)
as.matrix(rs[[1]])
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 4 5 6
[2,] 7 8 9 10 11
[3,] 12 13 14 15 16
[4,] 17 18 19 20 21
[5,] 22 23 24 25 26
as.matrix(rs[[2]])
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 4 5 6
[2,] 7 8 9 10 11
[3,] 12 13 14 15 16
[4,] 17 18 19 20 21
[5,] 22 23 24 25 26
我想将结果写入文本文件
c1 c2 c3 .....c25
2 3 4 ... 26
2 3 4 ... 26
dim(rs)
[1] 5 5 2
我的真实数据
dim (rs)
5 5 500
最佳答案
我们可以unstack
并转换为向量
library(raster)
out <- do.call(rbind.data.frame, lapply(unstack(rs), as.vector))
names(out) <- paste0('c', seq_along(out))
-输出
> out
c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
然后使用write.csv
将data.frame写入csv
文件中
write.csv(out, 'yourfile.csv', quote = FALSE, row.names = FALSE)
关于r - 如何从R中的矩阵中写出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71484694/