You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R语言adf.test()对PS1.txt数据执行Dickey Fuller检验?

解决ADF检验报错的修改方案

错误原因

adf.test()仅接受向量或单变量时间序列作为输入,但read.table()读取的data是数据框(data.frame),即使经过na.omit()处理后data2依然是数据框,不符合函数要求,因此触发报错。

修改后的代码

install.packages("tseries", dependencies = TRUE)
library(tseries)

# 读取数据(假设PS1.txt中仅包含一列待检验数据)
data <- read.table(file.choose(), header = FALSE, sep = ";")
head(data)

# 提取数据框中的第一列转为向量,同时处理缺失值
data2 <- na.omit(data[[1]])
head(data2)

# 执行ADF检验
adf.test(data2)

补充说明

  • 若数据包含多列,需明确指定待检验的列,比如检验第二列可使用data[[2]]
  • 若需将数据转为带时间索引的时间序列格式,可使用ts()函数转换,示例:
    # 假设数据为月度频率,起始时间为2020年1月
    ts_data <- ts(data2, start = c(2020, 1), frequency = 12)
    adf.test(ts_data)
    

内容的提问来源于stack exchange,提问作者AMoz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:33:11