【问题标题】:Converting matrix into im object from package spatstat - rows are in reverse将矩阵从包 spatstat 转换为 im 对象 - 行是相反的
【发布时间】:2015-03-17 14:55:58
【问题描述】:

第一次来这里的用户。我正在将矩阵从包 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)

【问题讨论】:

    标签: spatstat


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      • 2016-06-20
      • 2017-02-21
      相关资源
      最近更新 更多