【发布时间】:2018-10-16 19:31:22
【问题描述】:
我是 R 的新手,并且是一个在不同滞后值处创建第一个差异的函数(参见下面的代码)。
dt %>%
arrange(GEO, LF.char, NAICS, new_date) %>%
mutate(fd = VALUE -lag(VALUE), FD_percent = fd/lag(VALUE),
fd3 = VALUE -lag(VALUE, 3), FD_percent3 = fd3/lag(VALUE,3))
我正在尝试创建类似的东西:
dt %>%
arrange(GEO, LF.char, NAICS, new_date) %>%
mutate_FD()
我编写函数的尝试是
mutate_FD <- function(x){
mutate(fd = x.VALUE -lag(x.VALUE), FD_percent = fd/lag(x.VALUE),
fd3 = x.VALUE -lag(x.VALUE, 3), FD_percent3 = fd3/lag(x.VALUE,3))
}
但我收到以下错误
变异错误(fd = x.VALUE - lag(x.VALUE), FD_percent = fd/lag(x.VALUE), : object 'x.VALUE' not found 调用自: 变异(fd = x.VALUE - 滞后(x.VALUE),FD_percent = fd/滞后(x.VALUE), fd3 = x.VALUE - 滞后(x.VALUE,3),FD_percent3 = fd3/滞后(x.VALUE, 3))
有人可以向我解释我做错了什么吗?
【问题讨论】:
-
您需要共享您正在使用的数据框。分享
dput(head(dt))的输出以及预期的输出。