不允许具有非零长度索引的零长度向量-说明

问题描述

当我试图在时间序列数据上使用lag()函数时,需要解释为什么会出现错误不允许使用非零长度索引的零长度向量

>

此外,在通过线程Zero-length vectors with non-zero-length index are not allowed并使用建议stats :: lag(X,1)之后,工作完全正常。要求请解释一下stats :: /如何帮助解决问题。

解决方法

该问题与其他软件包中lag的屏蔽有关。 lag是一项功能,可以从dplyr之类的程序包中屏蔽,即,当我们加载dplyr时,它会显示

library(dplyr)

#Attaching package: ‘dplyr’

#The following objects are masked from ‘package:stats’:

#    filter,lag

该链接中提到的lag需要stats::lag而不是dplyr::lag。因此,当我们使用不同的lag时,行为也会改变

stats::lag(1:5,1) # // not removing the observation but create attribute
#[1] 1 2 3 4 5
#attr(,"tsp")
#[1] 0 4 1
dplyr::lag(1:5,1) # // by default removes the last and append NA
#[1] NA  1  2  3  4

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...