Я пытаюсь сделать что-то, что интуитивно кажется простым, но я не могу понять это. Я надеюсь вычислить дельту для ряда столбцов: у меня есть столбцы A1, B1, C1
и A2, B2, C2
, и я хотел бы создать столбцы A_delta, B_delta, C_delta
, вычитая A2 - A1
et c.
Вот что Я думал, что смогу сделать с dplyr
(используя mtcars
в качестве примера):
# Create test data with changed columns
d.test <- mtcars %>%
rownames_to_column() %>%
mutate(mpg2 = mpg - 4,
cyl2 = cyl - 1)
# Calculate deltas & add as new columns
d.test %>% mutate(!!c("mpg_delta", "cyl_delta") := c(mpg2, cyl2) - c(mpg, cyl))
Ясно, что это не сработает, но я не могу понять правильный синтаксис. Я читал об использовании purrr
, но это кажется применимым при попытке выполнить различные действия для строки (как здесь dplyr mutate с использованием переменных столбцов ), а не при попытке создать несколько новых столбцов ...
Любые указатели были бы великолепны!