小编gva*_*van的帖子

识别 data.table 中的邻居

我有以下数据.表*:

dt <- data.table(
  LEFT  = letters[c(1:5, 10:12)],
  SELF  = letters[c(2:6, 11:13)],
  RIGHT = letters[c(3:7, 12:14)]
  )

dt <- dt[sample(nrow(dt)), ]
dt[]

#    LEFT SELF RIGHT
# 1:    e    f     g
# 2:    d    e     f
# 3:    j    k     l
# 4:    c    d     e
# 5:    l    m     n
# 6:    b    c     d
# 7:    a    b     c
# 8:    k    l     m
Run Code Online (Sandbox Code Playgroud)

LEFT 和 RIGHT 表示 SELF 的邻居。我想对表进行索引,以便对相邻的邻居进行分组和排序。理想的输出可能如下所示:

dt_out[]
#    LEFT SELF RIGHT RUN ORDER
# …
Run Code Online (Sandbox Code Playgroud)

r data.table

5
推荐指数
1
解决办法
103
查看次数

使用行/列索引子集栅格

子集矩阵或DF时,可以引用行列,例如df1[1:5, 3:10]或df3[2:4, ]。

有什么办法可以使用栅格吗?也就是说,我是否可以仅裁剪500:700行,例如从栅格对象中裁剪?

我尝试使用rasterFromCells(),但是它没有给我想要的结果(并且考虑到R的其他巧妙的子设置方法,似乎应该有一个更简单的解决方案)。

例:

r <- raster(ncols = 50, nrow = 50)
r[] <- 1:ncell(r)

# I would like to subset the bottom 50 rows of cells, but keep it as a raster.
# However, this returns a numeric object.
rSub <- r[30:50, 1:50]  
Run Code Online (Sandbox Code Playgroud)

谢谢!

gis r raster

1
推荐指数
1
解决办法
1023
查看次数

对 raster::adjacent() 输出值的说明:

我正在尝试使用 raster::adjacent() 创建一个 rooks case 邻接矩阵,但我无法理解输出。

可重现的例子:

library(raster)

r <- raster(nrow = 3, ncol = 3)

rAdjacent <- raster::adjacent(r, cells = 1:ncell(r), pairs = TRUE, directions = 4) 

rAdjacent
      from to
 [1,]    1  3
 [2,]    2  1
 [3,]    3  2
 [4,]    4  6
...
Run Code Online (Sandbox Code Playgroud)

从我对输出的解释来看,输出表明 1 和 3 具有 rooks 大小写关系(如果我正确理解了这种关系,则它们没有)。

问题 1. 这是正确的吗?我是否正确解释了这个输出?

问题 2. 我如何使用 next() 或其他方法创建输出,它可以为我提供相邻的单元格编号对?

谢谢 :)

gis r raster

1
推荐指数
1
解决办法
207
查看次数

标签 统计

r ×3

gis ×2

raster ×2

data.table ×1