Добавить значение строки к предыдущему значению строки и добавить его к следующему значению строки в R - PullRequest
0 голосов
/ 07 октября 2019

Я хочу создать новый столбец, в который я добавляю значение строки к предыдущему. Например, я хочу создать новый столбец «lane_deviation_additive», в который я добавляю lane_deviationROW1 + lane_deviationROW2, а затем хочу добавить lane_deviationROW3 к этому результату, а затем lane_deviationROW4 к этим результатам и т. Д.

Вот воспроизводимый пример:

example <- structure(list(ppid_trialn = c("1_1_4", "1_1_4", "1_1_4", "1_1_4", 
"1_1_4", "1_1_4", "1_1_4", "1_1_4", "1_1_4", "1_1_4"), lane_deviation = c(0, 
0.000155266125100885, 0.000155489294201173, 0.000155766010066695, 
0.000155765951852893, 0.000155069487777508, 0.000154819918395414, 
0.000156239855052866, 0.000155319064160215, 0.00015709614437562
)), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-10L), groups = structure(list(ppid_trialn = "1_1_4", .rows = list(
    1:10)), row.names = c(NA, -1L), class = c("tbl_df", "tbl", 
"data.frame"), .drop = TRUE))

Я чувствую, что это возможно при использовании dplyr с использованием функции lag, но я не уверен, как можно добавить следующую строку к результату добавления предыдущих строк. Любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Опция с dplyr

library(dplyr)
example %>%
    mutate(lane_deviation_additive = cumsum(lane_deviation))
0 голосов
/ 07 октября 2019
 example[,"lane_deviation_additive"] <-cumsum(example$lane_deviation)
...