Я пытаюсь использовать функцию 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) в одном ряду (дне), я хочу сбросить количество дней, в течение которых они был покойным, в другом слое к нулю.