Как создать подкадры данных для каждой строки с данными до и после строки

2
задан camille 14 April 2019 в 14:11
поделиться

2 ответа

Или это:

ex.list <- lapply(split(ex, ex$order), function(x){
  ex.x <- as.data.frame(do.call(rbind, 
          lapply(1:nrow(x), function(i){
            c(x$order[i], ifelse(i==1, list(data.frame()), list(x[1:(i-1), ])), list(x[i:nrow(x), ]))
          })
  ))
  names(ex.x) <- c('order', 'data_before', 'data_after')
  ex.x
})
0
ответ дан Simon 14 April 2019 в 14:11
поделиться

Проверьте это:

library(tidyverse)

slice_dataframe <- function(r, ord = 1) {
    tibble("order" = ord,
           "data_before" = list(slice(ex, row_number() <= (r - ord))),
           "data_after"  = list(slice(ex, row_number() >= (r + ord))))
}

map_df(1:nrow(ex), slice_dataframe)
0
ответ дан Rafael Toledo 15 April 2019 в 00:36
поделиться
  • 1
    Какой тип короток ? Короткое целое (подписанных 8 байтов)? Smallint (подписанных 16 байтов, как короткий C)? – Rudy Velthuis 22 January 2019 в 04:47
  • 2
    Какой тип короток ? Короткое целое (подписанных 8 байтов)? Smallint (подписанных 16 байтов, как короткий C)? – Rudy Velthuis 22 January 2019 в 04:47
Другие вопросы по тегам:

Похожие вопросы: