我在R目标管道中有多个栅格,我用tar_files()加载这些栅格,然后在下一个目标中迭代它,以便将每个文件的一列添加到矩阵中.但是,只创建了第一列.以下是不使用文件的Reprex:

library(targets)

tar_script(
  {
    add_column <- function(letter) {
      matrix(rep(letter, 10), ncol = 1)
    }
    list(
      tar_target(letters, letters),
      tar_target(
        added_columns,
        add_column(letters),
        pattern = map(letters)
      )
    )
  },
  ask = FALSE
)
tar_make()

我如何才能得到一个每次迭代都有列的矩阵?

当我使用tar_load(add_columns)加载结果时,它只有第一列.在使用栅格的情况下,我使用terra::extract为每次迭代获取一个向量,当我加载结果时,除了第一个列之外,所有列都填充了NA.

推荐答案

我同意@Radim,您可以使用nrow = 1而不是matrix()中的ncol = 1来生成他们的mat矩阵,然后转置结果.同样的解决方案,只是思考的方式不同.iteration = "vector"行绑定类似数据框的对象,因此其 idea 是让每个动态分支创建一行而不是一列.

library(targets)
add_column <- function(letter) {
  matrix(rep(letter, 10), nrow = 1) # switch to nrow = 1
}
list(
  tar_target(letters, letters),
  tar_target(
    mat,
    add_column(letters),
    pattern = map(letters)
  ),
  tar_target(transposed, t(added_columns)) # transpose the output
)

R相关问答推荐

如何将标签移动到堆叠甜甜圈图表中每个切片的边缘?

R中的Fasttext langue_identification返回太多参数-如何与文本匹配?

使用格式化程序自定义hc_tooltip以添加textColor删除了我的标记并try 将它们带回失败

如何在弹性表中为类别值的背景上色

卸载安装了BRM的模型发出的警告

如何使用stat_extract_all正确提取我的目标值?

ggplot geom_smooth()用于线性回归虚拟变量-没有回归线

无法将传奇添加到cowplot多情节中

将年度数据插入月度数据

在连续尺度上转置标签[瀑布图,R]

根据元素和前一个值之间的差值过滤矩阵的元素

对于变量的每个值,仅 Select 包含列表中所有值的值.R

try 将 colored颜色 编码添加到ggploly的标题中

使用for循环和粘贴创建多个变量

如何将SAS数据集的列名和列标签同时包含在r中GT表的表首?

有没有办法使用ggText,<;Sub>;&;<;sup>;将上标和下标添加到同一元素?

将全局环境变量的名称分配给列表中的所有元素

使用geom_iles在一个切片中包含多个值

在不对R中的变量分组的情况下取两行的平均值

ggplot斜体轴刻度标签中的单个字符-以前的帖子建议不工作