Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 数据帧中的Zoo滞后差异_R - Fatal编程技术网

R 数据帧中的Zoo滞后差异

R 数据帧中的Zoo滞后差异,r,R,我想把滞后差异的结果放回我的数据框中。这意味着对于不同的滞后,我将拥有领先的NAs 我正在使用: new.df$lag1 <- diff(new.df$Close, lag = 1, differences = 1, arithmetic = TRUE, na.pad = TRUE) Error in `$<-.data.frame`(`*tmp*`, lag1, value = c(0.248860000000001, : replacement has 6177 rows

我想把滞后差异的结果放回我的数据框中。这意味着对于不同的滞后,我将拥有领先的NAs

我正在使用:

new.df$lag1 <- diff(new.df$Close, lag = 1, differences = 1, arithmetic = TRUE, na.pad = TRUE)
Error in `$<-.data.frame`(`*tmp*`, lag1, value = c(0.248860000000001,  : 
  replacement has 6177 rows, data has 6178
我认为如果它说na.pad=TRUE,那么这将在第1行放置一个na,在第2行放置滞后差。事实并非如此

以下是一些样本数据:

data <- c(10,15,89,40,55,67,79)

lag1 <- diff(data, lag = 1, differences = 1, arithmetic = TRUE, na.pad = TRUE)
目标是将其放回数据帧中。。。领先的NA取决于滞后的数量

dta = c(10,15,89,40,55,67,79)

require(zoo)

apply(lag(zoo(dta), c(-1,0), na.pad = TRUE), 1L, diff)

#> apply(lag(zoo(dta), c(-1,0), na.pad = TRUE), 1L, diff)
#  1   2   3   4   5   6   7 
# NA   5  74 -49  15  12  12 
此外,尽量避免使用基本R类数据已经使用的名称命名对象

2018年5月10日。因此,请确保没有附加dplyr,或者显式运行stats::lag,否则我的代码将无法运行

我想我找到了罪魁祸首:github.com/tidyverse/dplyr/issues/1586 答:这是拥有大量R包的自然结果。 只需显式地使用stats::lag或dplyr::lag


在dta中使用了您上面的答案。。。错误:n必须是一个非负整数标量,而不是长度2的两倍请参见:错误:n必须是一个非负整数标量,我在家里也有同样的问题,但它在工作中起作用。。。hrm…@thistleknot我让它在Windows10上的Rx64 3.3.0/3.3.1/3.4.0/3.5.0上运行。你呢?我想我找到了罪魁祸首:回答:这是拥有大量R包的自然结果。只需显式地使用stats::lag或dplyr::lag