попытка использовать dplyr modify_if с 3-мерным массивом, не любит размеры - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь использовать функцию modify_if() из purrr в трехмерном массиве, однако ошибка «неправильное количество измерений». Эта функция не будет работать с многомерными массивами?

library(tidyverse)
library(magrittr)

pop <- array(c (1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,
                0,0,0,0,0,2,0,2,3,5,2,0,2,3,5),
             dim = c(2,5,3))
pop
pop %>%
    modify_if (~ .x[dim(.x)[1], ,1] -  .x[(dim(.x)[1])-1, ,1] < 0,
               ~ .x[dim(.x)[1], ,3] <- 0
               )

Error in .x[dim(.x)[1], , 1] : incorrect number of dimensions

Это для микро-симуляции, отслеживающей людей, поэтому, если они go от живых (1) до мертвых (0) в одном ряду (дне), я хочу сбросить количество дней, в течение которых они был покойным, в другом слое к нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...