Я новичок в R и пытаюсь создать новую строку на основе значений в предыдущих строках.
Пример данных:
df <- data.table(Item = c("a", "b", "c", "d"),
"2010FY" = c(3, 5, 2, 2),
"2011FY" = c(5, 6, 2, 1),
"2012FY" = c(-1, 2, 2, 0.5))
Я хотел бы создать новую строку, которая делит 3-й ряд на 4-й ряд. Давайте назовем этот пункт «е», и в идеале он должен выглядеть так:
Item 2010FY 2011FY 2012FY
1 a 3 5 -1
2 b 5 6 2
3 c 2 2 2
4 d 2 1 0.5
5 e 1 2 4
Используя dplyr, моя первая попытка:
df <- bind_rows(df, e = df[Item %in% "c", ] / df[Item %in% "d", ])
Это не работает, потому что символы не делятся (т. Е. Столбец Item).
Я обнаружил, что функция mutate_if будет работать, но только по столбцам. Есть ли способ, которым я могу сделать это по строке?
Большое спасибо.