从包spatstat将矩阵转换为im对象 - 行是相反的

时间:2015-03-17 14:55:58

标签: spatstat

第一次在这里用户。我正在从包spatstat转换矩阵到im对象。然而,来自矩阵mat [1,1]的左上角值被写在图像的左下角,例如, im函数从上到下读取矩阵的行,但从底部开始将它们写入im。尝试以相反的顺序指定im()的yrow参数为seq()但仍然是相同的结果。建议如何解决这个问题?

    require(spatstat)

    mat <- matrix(seq(1,20, by=1), nrow=4, ncol=5)
    print(mat)
    im <- im(mat, xcol = seq(1,5), yrow = seq(4,1))
    plot(im, axes = T)

1 个答案:

答案 0 :(得分:0)

有两种解决方法。在github的spatstat的最新开发版本中,您可以在不同的布局之间进行转换。有关详细信息,请参阅help(transmat)。您提供的布局称为“欧洲&#39;用于spatstat的布局称为&#39; spatstat&#39;,所以你可以这样做:

require(spatstat)
mat <- matrix(seq(1,20, by=1), nrow=4, ncol=5)
m <- transmat(mat, from = 'European', to = 'spatstat')
i <- im(m)
plot(i, axes = TRUE)

如果您没有spatstat的开发版本,则可以执行以下操作:

require(spatstat)
mat <- matrix(seq(1,20, by=1), nrow=4, ncol=5)
m <- mat[4:1,]
i <- im(m)
plot(i, axes = TRUE)