Я пытаюсь создать разницу в 7 дней по группе. Итак, я пытаюсь воспроизвести приведенный ниже код и надеюсь получить аналогичный результат с 7-дневным отставанием.различие по группе с dplyr mutate
library(dplyr)
dat %>% mutate(dx=c(NA, diff(x)), dy=c(NA, diff(y)))
x y dx dy
1 5 3 NA NA
2 8 9 3 6
3 3 1 -5 -8
4 1 5 -2 4
Но я получаю сообщение об ошибке:
Error: incompatible size (900), expecting 905 (the group size) or 1
есть быстрый и простой способ исправить эту ошибку. Я полагаю, что это может иметь отношение к мутату.
Пожалуйста, покажите свой пример ввода. На основе вывода нет 'colname1, colname2' – akrun
. Пожалуйста, прочитайте информацию о [как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и как дать [ воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610). Это облегчит вам помощь другим людям. – Jaap
благодарит за комментарий. Единственное различие между моим кодом и выше - group_by. so dat%>% group_by (ничего)%>% mutate (dx = c (NA, diff (x)), dy = c (NA, diff (y))). Я знаю, что это простое решение, я просто не знаю, как это исправить, так как я довольно новичок в r. –