【发布时间】:2012-09-09 20:21:28
【问题描述】:
我正在尝试以以下形式计算 R 中两点之间的百分比变化:
(X_(i+1) - X_(i))/(X_(i))
这是我到目前为止的想法:
#x is a vector from the dataframe
#lag is distance between two points being compared
percent_change = function(x,lag = 1)
{
n = length(x)
pchange = c((x[(1+lag):n] - x[1:(n-lag)])/x[1:(n-lag)],NA)
return(pchange)
}
但是,为了在 R 中完成这项任务,我必须绑定一个 NA 以避免:
Error in \`$<-.data.frame\`(\`*tmp*\`, "Change", value = c(0.00248221082243916, :
replacement has 4616 rows, data has 4617
有了这个添加,操作就会发生并与我计算出来的结果对齐。
有没有一种方法可以让我不必附加 NA?
【问题讨论】:
-
您似乎根本没有使用数据框 - 是在调用此函数的代码中吗?
-
如果您不将其存储回数据框,那么您不需要 NA。