全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1231 4
2021-03-04
在校学生 刚刚学习r语言。用R中STL分解方法分解完数据之后,因为数据量量较大,没有办法全部显示,所以用
write.table(tr573,file="日度stl2.csv",sep =",",row.names = FALSE,col.names = FALSE,quote = FALSE)
进行结果输出。但是提示出错:Error in as.data.frame.default(x[], optional = TRUE, stringsAsFactors = stringsAsFactors) :
  cannot coerce class ‘"stl"’ to a data.frame


我的完整代码是这样的:
bjrj=read.csv("3.csv",header = FALSE)
bjrj
w=na.omit(bjrj[,3])
w
bj=ts(w,start = c(2014,1,1),frequency = 365)
bj
plot(bj)
plot(stl(bj,s.window = 35,t.window =473,t.jump = 21,s.jump=365,l.jump=365,inner = 2,outer = 6 ))
tr573=stl(bj,s.window = 35,t.window =573,t.jump = 21,s.jump=365,l.jump=365,inner = 2,outer = 6 )

write.table(tr573,file="ww.csv",sep =",",row.names = FALSE,col.names = FALSE,quote = FALSE)

请问大家,该如何将得出的结果输出那?下图是分解后的结果
分解后的结果
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-3-4 20:10:57
你的数据已经转成时间序列了,是一种特殊的格式。需要再转成data.frame,才能write输出
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-3-5 10:01:51
llb_321 发表于 2021-3-4 20:10
你的数据已经转成时间序列了,是一种特殊的格式。需要再转成data.frame,才能write输出
请我,这种时间序列的数据怎么转data.frame那。网上查了很多没有找到相关的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-3-5 10:42:31
d<-data.frame(seasonal=tr573$seasonal, trend=tr573$trend, remainder=tr573$remainder) 这样吧($用英文$替换)
typeof(tr573)一个是"character",typeof(d)应该是“list"。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-3-6 16:25:29
schar 发表于 2021-3-5 10:42
d
我试一下,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群