Я пытаюсь изменить столбец, разделив значение строки на значение выше. Например, допустим, у меня есть этот фрейм данных:
V1 A 4 B 2 C 8
Используя что-то вроде:
df <- mutate(df, V2 = V1[row+1] / V1[row])
Я хочу получить:
V1 v2 A 4 NA B 2 2 C 8 0.25
Я не могу найти способ сделать это ... у кого-нибудь есть информация?
edit: clearity
Попробуйте с:
library(dplyr) df <- mutate(df, v2 = lag(V1) / V1)
Вывод:
V1 v2 A 4 NA B 2 2.00 C 8 0.25
В base R мы можем удалить первый и последний элемент и выполнить деление
base R
df$V2 <- with(df, c(NA, V1[-length(V1)]/V1[-1]))
df <- structure(list(V1 = c(4, 2, 8)), class = "data.frame", row.names = c("A", "B", "C"))