Я использовал следующую работу для столбца, где я вычитал значение строки на значение строки перед ней.
mutate(diff = v1 - lag(v1, default = first(v1)))
Иногда приведенный выше код дает мне отрицательные значения, я этого не хочу. Какой хороший способ заменить отрицательные числа на 0, который является ответвлением от приведенного выше кода?
1 ответ
Мы можем использовать
library(dplyr)
df1 %>%
mutate(diff = v1 - lag(v1, default = first(v1)),
diff = replace(diff, diff < 0, 0))
Похожие вопросы
Новые вопросы
r
R - это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, предоставьте минимальные и воспроизводимые примеры вместе с желаемым результатом. Используйте dput () для данных и укажите все небазовые пакеты с вызовами library (). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. По вопросам, связанным со статистикой, используйте https://stats.stackexchange.com.