【发布时间】:2018-03-02 09:30:16
【问题描述】:
我目前正在尝试运行 adf.test 来检查我的时间序列中的变量是固定的还是非固定的。但是,当我创建时间序列数据时,
datnew<-cbind(Date,Temp,GHG,SOX,SOL)
datts<-ts(datnew,start = 1850, end = 2011, frequency = 1)
我所有的数值都变成了字符值,而这些变得无法使用。我尝试将我的表转换为同时包含 as.data.frame 和 as.data.frame.matrix 的数据框,但是当我创建时间序列时,此函数仅返回整数值。如果有人知道这是为什么,或者可以帮助我解决问题,我将不胜感激。
【问题讨论】:
-
不要使用
cbind?立即使用data.frame? cbind prob 将所有 4 个向量转换为相同的数据类型类 -
没有。当您在向量上单独调用
cbind时,它使用base::cbind,它会创建一个matrix。矩阵始终是一个类,因此如果您的任何一个变量是character,那么它们都会被转换。相反,如果您调用cbind.data.frame(如果第一个参数已经是data.frame,则会自动调用)或data.frame(如建议的那样),那么您将不会转换它们。但是,您仍然会为您的文本向量获得factors,因此我建议将stringsAsFactors=FALSE作为参数包含在内。
标签: r time-series character