楼主: 317792209
2614 7

[问答] 循环程序中,plot命令不出图,为何? [推广有奖]

已卖:1397份资源

学术权威

17%

还不是VIP/贵宾

-

威望
3
论坛币
14208 个
通用积分
823.7603
学术水平
377 点
热心指数
546 点
信用等级
320 点
经验
91812 点
帖子
4619
精华
4
在线时间
3662 小时
注册时间
2011-4-19
最后登录
2025-12-16

初级热心勋章 中级热心勋章 初级信用勋章 中级学术勋章 初级学术勋章 中级信用勋章 高级热心勋章

楼主
317792209 在职认证  学生认证  发表于 2022-5-7 16:39:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这段估计DCC-GARCH的代码运行没有问题。但是2.1画时序图部分的代码,Rsudio软件不显示图,单独执行式没问题的,放进循环里就不行了。请教各位高手,这是什么原因?

  1. setwd("D:/R/data/Ch23")
  2. library(tseries);library(fBasics);library(FinTS);library(rmgarch)
  3. #第一步 数据处理
  4. for (i in 1:5){
  5. sampA=read.csv(paste("A",i,".csv",sep = ""),header=T);
  6. sampH=read.csv(paste("H",i,".csv",sep = ""),header = T);
  7. indexA=xts::as.xts(sampA[,2],as.Date(sampA[,1]));
  8. indexH=xts::as.xts(sampH[,2],as.Date(sampH[,1]));
  9. A=diff(log(indexA[,1]))[-1,];H=diff(log(indexH[,1]))[-1,];
  10. AH=na.omit(merge(A,H,join = 'inner'));
  11. colnames(AH)=c(paste("A",i,sep = ""),paste("H",i,sep = ""));
  12. print(head(AH));
  13. #第二部 描述性统计
  14.    # 2.1 画时序图
  15. opar=par(no.readonly = T);
  16. par(mfrow=c(2,1));
  17. plot(AH[,1],main=paste("A",i,"日收益率序列图",sep = ""),col="blue")
  18. plot(AH[,2],main=paste("H",i,"日收益率序列图",sep = ""),col="red")
  19. par(opar);
  20. par(mfrow=c(1,1));
  21.    # 2.2 描述性统计
  22. print(basicStats(AH));
  23. print(jarque.bera.test(AH[,1]));print(jarque.bera.test(AH[,2]));
  24. #第三步 实证分析
  25.    # 3.1 平稳性检验
  26. print(adf.test(AH[,1]));print(adf.test(AH[,2]));
  27. print(pp.test(AH[,1]));print(pp.test(AH[,2]));
  28.    # 3.2 ARCH效应检验
  29. fit.arA=arima(AH[,1],order=c(1,0,0));
  30. fit.arH=arima(AH[,2],order=c(1,0,0));
  31. print(ArchTest(fit.arA$resid,lags = 4));print(ArchTest(fit.arH$resid,lags = 4));
  32. print(ArchTest(fit.arA$resid,lags = 8));print(ArchTest(fit.arH$resid,lags = 8));
  33. print(ArchTest(fit.arA$resid,lags = 12));print(ArchTest(fit.arH$resid,lags = 12));
  34.    # 3.3 设定dcc-garch模型
  35. meanEquation=list(armaOrder=c(1,0),include.mean=F,archpow=1);
  36. varEquation=list(model="sGARCH",garchOrder=c(1,1));
  37. distspec=c("mvt");
  38. spec=ugarchspec(mean.model=meanEquation,variance.model=varEquation);
  39. Nspec=multispec(replicate(2,spec));
  40. myspec=dccspec(Nspec,VAR=F,robust=F,
  41.                model = ("DCC"),
  42.               external.regressors = NULL,
  43.                distribution=distspec);
  44. fitDcc=dccfit(data=AH,myspec,solver="solnp");
  45. show(fitDcc);
  46. plot(fitDcc,which=4)
  47. }
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:plot distribution DCC-GARCH replicate archTest

按时毕业,按时睡觉。多发论文,多赚点钱。

沙发
llb_321 在职认证  发表于 2022-5-7 21:35:23
把16行,par(mfrow=c(2,1));改为
par(mfcol=c(2,1), mar = c(2,2,2,2))
看看能出来吗
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
317792209 在职认证  学生认证  发表于 2022-5-8 13:55:21
您好,还是出不来。把数据和代码放到附件里了。麻烦帮我指点一下

Ch23.rar (54.81 KB)
按时毕业,按时睡觉。多发论文,多赚点钱。

板凳
317792209 在职认证  学生认证  发表于 2022-5-8 17:04:53
llb_321 发表于 2022-5-7 21:35
把16行,par(mfrow=c(2,1));改为
par(mfcol=c(2,1), mar = c(2,2,2,2))
看看能出来吗
您好,还是出不来。把数据和代码放到附件里了。麻烦帮我指点一下

报纸
llb_321 在职认证  发表于 2022-5-9 00:24:21
15~20行,替换一下,我试了可以在循环中出图:
  1. op<-par(mfrow=c(1,1),mar=c(3,3,5,3))
  2. par(mfrow=c(2,1),mar=c(3,3,3,3));
  3. print(plot(AH[,1],main=paste("A",i,"日收益率序列图",sep = ""),col="blue"));
  4. print(plot(AH[,2],main=paste("H",i,"日收益率序列图",sep = ""),col="red",which=all));
  5. par(op);
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
jiangbeilu + 10 精彩帖子

总评分: 论坛币 + 10  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

地板
317792209 在职认证  学生认证  发表于 2022-5-9 08:44:21
llb_321 发表于 2022-5-9 00:24
15~20行,替换一下,我试了可以在循环中出图:
厉害厉害!我也出来了,十分感谢哈。能讲解下设置的原理吗?

7
jiangbeilu 学生认证  发表于 2022-5-9 14:42:50
一般plot只默认画一张图,你使用par进行参数设置后,就是把画布分成了几份,每一份上都可以画图。
已有 1 人评分论坛币 收起 理由
317792209 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

8
bijiangqiao9 发表于 2022-5-10 15:08:38
似乎是个bug,base包和ggplot2里面的画图,在循环里都要print才能输出。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-4 01:31