Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 如何有条件地选择时间序列_R_Time Series_Difference - Fatal编程技术网

R 如何有条件地选择时间序列

R 如何有条件地选择时间序列,r,time-series,difference,R,Time Series,Difference,假设我有一个时间序列对象,B_ts。一些序列可能需要差分来使它们保持平稳,而另一些可能不需要。我想对所有序列执行一个增强的Dickey-Fuller测试,并且仅对那些产生测试统计的序列应用diff(x),对于这些序列,D-F测试的p值大于0.05。对于p值已小于0.05的系列,我希望保持“未触及” 在R中有没有这样做的方法 到目前为止,我为时间序列对象B_ts编写了以下代码: B_ts <- ts(B) tseries::adf.test(B_ts) f1 = function(x

假设我有一个时间序列对象,B_ts。一些序列可能需要差分来使它们保持平稳,而另一些可能不需要。我想对所有序列执行一个增强的Dickey-Fuller测试,并且仅对那些产生测试统计的序列应用diff(x),对于这些序列,D-F测试的p值大于0.05。对于p值已小于0.05的系列,我希望保持“未触及”

在R中有没有这样做的方法

到目前为止,我为时间序列对象B_ts编写了以下代码:

B_ts <- ts(B) 

tseries::adf.test(B_ts) 

f1 = function(x){return(diff(x))}

C <- apply(B_ts,1, f1) #but only to rows that require differencing!

tseries::adf.test(C) #to see whether p value for all time series is now < 0.05 after differencing

B_ts这里有一种方法可以继续执行一次
lappy
,请注意,第二系列的最终p值为0.065,因此根据您遇到的问题和您的数据,您可能希望延迟不止一次

#选择示例ts数据
#数据()
采集子