пытаясь объединить (преобразовать) две строки в столбец - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь изменить столбец, разделив значение строки на значение выше. Например, допустим, у меня есть этот фрейм данных:

  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

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Попробуйте с:

library(dplyr)

df <- mutate(df, v2 = lag(V1) / V1)

Вывод:

  V1   v2
A  4   NA
B  2 2.00
C  8 0.25
0 голосов
/ 21 марта 2020

В base R мы можем удалить первый и последний элемент и выполнить деление

df$V2 <-  with(df,  c(NA, V1[-length(V1)]/V1[-1]))

data

df <- structure(list(V1 = c(4, 2, 8)), class = "data.frame", 
   row.names = c("A", 
"B", "C"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...