How can i compute multi-dimension mean matrix?
I want to compute dynamic conditional correlation(dcc) mean matrix at all time.
Rho is each day matrix.
but i want to make a mean matrix all day (not each day)
this is DCC-garch model.
library(rugarch)
library(rmgarch)
library(xts)
stockdata<-read.zoo("C:\Users\Taehee Cha\Desktop\\data\EUCall.csv",
header=TRUE,
sep=",",
format = "%Y-%m-%d",
nrow=4433)
stock_xts<-as.xts(stockdata,dateFormat='POSIXct')
DKOSPI200 <-diff(log(stock_xts$KOSPI200))*100
DDAX30 <-diff(log(stock_xts$DAX30))*100
DSNP500 <-diff(log(stock_xts$SNP500))*100
DFTSE100 <-diff(log(stock_xts$FTSE100))*100
...
data2<-data.frame(DKOSPI200,DDAX30,DSNP500,DFTSE100,DEUROSTOXX50,DFTSEMIB,DNIKKEI225,DSNPTSX,DCAC40,DJSE40,
DRTS,DIPC,DBOVESPA,DTadawul,DMERV,DSENSEX,DJSX,DSSE,DXU100,DSNPASX,
DATHEX,DAEX,DOBX,DSNPNZ50,DTAIEX,DOMXC20,DKLCI,DBEL20,DOMXS30,DSMI,
DIBEX,DSTI,DADX,DISEQ,DATX,DTA35,DEGX30,DPX50,DIPSA,DQE,
DIGBC,DSET,DKarachi100,DSNPBVL,DPSI20,DWIG20,DOMXH25,DPSEI,DBUX,DHANGSENG)
Univarate GARCH specification
gjrGARCH.spec <-ugarchspec(variance.model=list(model="gjrGARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(1,0)))
Multivarate GARCH specification
dcc.gjrGARCH.spec=dccspec(uspec=multispec(replicate(50,gjrGARCH.spec)),
dccOrder=c(1,1),
distribution="mvnorm")
OUTCOME=dccfit(dcc.gjrGARCH.spec, data=data2)
Fit<-fitted(OUTCOME)
Sigma<-sigma(OUTCOME)
Rho<-rcor(OUTCOME)
dim(Rho)
>50 50 4432
I tried this, but I failed.
dccmean<-apply(Rho, c(1:4432), mean)
Error message:
Error in if (d2 == 0L) { : missing value where TRUE/FALSE needed
please help me....
> dput(head(data2))
structure(list(KOSPI200 = c(-0.64107155376405, -2.63428514277591,
-3.02361881202007, -0.348129159251176, -0.8463497185911, 0.933495693605124
), DAX30 = c(-0.275158289647415, -2.31165589473132, 0.132288230298805,
-0.916302412003311, -0.249954511741102, 1.5067409708557), SNP500 = c(0,
-1.23978129442266, -2.37787312356224, 0.68553903957973, -1.45026278352685,
-0.113477591886735), FTSE100 = c(-0.912643889420117, -1.27612498082748,
-0.189622000351441, -0.0175554735125871, -1.40042215908522, 1.65029716900129
), EUROSTOXX50 = c(-0.693995680230763, -2.63873467285407, 0.0340923169277474,
-1.10692637764913, -1.45688992650648, 0.90690109636018), FTSEMIB = c(-0.207307997135331,
-2.20987523065315, 0.11929602916414, -0.591164923299203, -1.23334692081265,
0.0674451667508791), NIKKEI225 = c(-0.172132904979705, -2.41825620786038,
-0.541031623946608, 0.494946220458736, -2.43002026761108, 3.30050037277818
), SNPTSX = c(-0.228827286223954, -0.618158165738869, -1.163192751949,
0.611234081963197, -1.07887096999253, 0.15982056970163), CAC40 = c(-0.996225333005363,
-2.45923020374033, 0.558708030675348, -1.07932737047562, -1.18770661796788,
0.946736097241008), JSE40 = c(-1.24801019778307, -0.660388491185593,
-0.378077731086712, 1.12913917165454, -0.270357667812782, 0.925230160391344
), RTS = c(1.69252595201295, -2.47912051247043, -1.68278329224893,
-0.628193976078784, -5.81832854668214, 2.33324601133127), IPC = c(0.410660821053099,
-0.793221688816637, -1.46058560736098, -0.0995162816563422, 0.0582618177329408,
-2.24304020680233), BOVESPA = c(-2.08399544316435, -0.0640501036023977,
-1.00884481719454, 0, -2.45326225130107, 1.76775969319749), Tadawul = c(-0.0751612871260576,
1.06988441714364, 0.467558379080923, 0.015629948658713, -0.479468927554549,
0.115645625170213), MERV = c(-0.812834284218145, -3.48526114996641,
-0.789176542098158, 0, -6.3347627637631, -2.25802417775345),
SENSEX = c(0.173466860804083, -0.357822108056638, -0.45387164272519,
1.1318914393021, 1.4301129114795, 2.24172363852979), JSX = c(0.464645515331874,
0.433624214120076, 0.382746462253802, 0.245017602482989,
0.417626097951018, 0.919117215344212), SSE = c(-0.9304947624722,
-0.512019911931727, -0.0399062163143782, 0.923519675548068,
-0.965701174169897, -0.149922817153048), XU100 = c(0.83997183599358,
-9.44220433432204, -1.19486088286003, -5.93037167728525,
-8.13019316543659, 4.39805147087551), SNPASX = c(-1.52481837941529,
-0.710076219124112, -0.355441763724151, 0.43889183264465,
0.632546988595983, 0.431277069387725), ATHEX = c(0.217251999604962,
-0.113093185749946, -4.08702446400842, -1.49759637062132,
-2.89449541976028, 2.84821759239637), AEX = c(-0.302724751872496,
-1.93350674725812, -0.334531789971226, -0.27844233175518,
-1.47467944242914, 0.59320521917563), OBX = c(-0.633345799178109,
-0.0872437271016935, -0.0686020794624653, -0.751459482064121,
-0.314782430663918, -0.138818800687446), SNPNZ50 = c(-0.589289243578772,
-0.212470628567818, -1.09525597597484, 1.56062961309287,
-0.594970797797778, 0.308439154148132), TAIEX = c(-0.634186259073921,
-0.0465155309724352, -1.06170058328026, -0.875355087660168,
-1.4930992055346, 1.85698166429091), OMXC20 = c(0.0415607672345608,
-0.892547743122307, 0.895744009882993, 0.00639222705407505,
-0.515886239547392, -0.744864387047794), KLCI = c(3.12710622798287,
1.55475618644338, 0.141888091655584, -0.2344629562125, -1.32130772048118,
-1.3324408754646), BEL20 = c(0.916239489510673, -0.838871120292239,
-0.349848101836958, 0.131119279926573, -0.220949965581685,
0.925072128183135), OMXS30 = c(-2.30694346428235, -3.59314374436401,
-0.132526843920378, -0.26558175544098, -0.700219536449254,
2.21356560948696), SMI = c(-0.923178651961543, -1.9888683347407,
0.190440901601185, -1.31581319814948, -1.24166996356809,
1.74938111396603), IBEX = c(-1.10228247337272, -3.30519689438287,
0.28541077977593, -0.719194686241131, -2.37890150982238,
-1.20979032592885), STI = c(-0.376825693193794, -1.56959227075815,
-0.209405887533087, 1.59189359203387, -0.998471722830718,
0.524545937488519), ADX = c(0, 0.234110707042312, -0.140988509294804,
-0.107833632972643, -0.00392341494084292, 0), ISEQ = c(-0.497210204416199,
-1.28827940816549, 1.05427460869301, 0.691923594974142, -1.2985333059083,
1.05885040639215), ATX = c(0.196176688098504, -0.397720264421864,
0.765032409498989, 0.634860192671294, -0.718109388684507,
0.288191756274081), TA35 = c(-0.467643907976623, -1.6933214269244,
0.638360404963567, 1.66873087937374, -1.03207784150818, 1.98476257832283
), EGX30 = c(-1.60808620054533, 0.486603179063838, 0.042060989053283,
-0.582335360174024, -1.05485347621963, 0.329916835288824),
PX50 = c(0, 0, -1.53717800478548, -0.567132576686191, -1.79645549752987,
0.100654261140143), IPSA = c(0.561439712306022, 0.849792667039129,
-0.327031029818503, -0.154168073702365, -0.737696755949457,
-0.476817106576277), QE = c(0.124155575561335, -0.299696872832733,
-0.087886339332055, 0.0366286953290995, 0.109805655043083,
0.0585137524009127), IGBC = c(0.151884596926966, -0.461362987666014,
1.12811837108895, 0.0931901841028981, 0.149517561508272,
0.312176099410877), SET = c(-0.475964725298805, 0, -0.126280143061397,
-0.243770852799319, -3.47030045650181, 0.752026997121558),
Karachi100 = c(-1.2595250361283, -1.09859841657665, -0.467295948347779,
-0.176282035250352, 1.06144685237481, 0.614077017080827),
SNPBVL = c(-0.0916272845215893, -0.488603970907153, -0.635609686024718,
0.72544080956467, -1.05989054433602, -0.290056131898186),
PSI20 = c(-0.498150623441695, -2.4995090145449, -0.916173928749231,
0.134620833204835, -1.96674118284665, 0.125363501017972),
WIG20 = c(-0.186154209522993, 2.29090171954054, -1.21234613135197,
-2.35741884661973, -1.39537944100319, 4.04050146384076),
OMXH25 = c(-0.734161177012371, -3.2781107280087, -0.274240630336653,
0.164265778301331, -2.88555610228327, 0.0196123710402674),
PSEI = c(1.16491407781849, -0.379401344663943, 0.604503127264966,
-0.551543468404248, -0.542372265371061, 0.668217806598204
), BUX = c(0.745432319945749, -0.407296683745706, 1.4847908668413,
-1.73656177766137, -1.70838647119353, 0.642365839539494),
HANGSENG = c(-1.58777648289217, 0, -2.40414908704771, 0.182801734695737,
-1.47377260414583, 1.05050572830176)), row.names = c("2001-07-05",
"2001-07-06", "2001-07-09", "2001-07-10", "2001-07-11", "2001-07-12"
), class = "data.frame")
I think it will be more useful to solve my problem.
dim(Rho)
>50 50 4432
> dput(head(Rho))
c(1, 0.28274756492168, 0.366762864615763, 0.287187938929745,
0.279313675150249, 0.25099353597608)
> str(Rho)
num [1:50, 1:50, 1:4432] 1 0.283 0.367 0.287 0.279 ...
- attr(*, "dimnames")=List of 3
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:4432] "2001-07-05" "2001-07-06" "2001-07-09" "2001-07-10" ...
My questions
#, , "2001-07-05"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
#, , "2001-07-06"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
##----->I want to this ((ex)sum)
#, ,
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 2 10 18 26
#DAX30 4 12 20 28
#SNP500 6 14 22 30
#FTSE100 8 16 24 32
r multidimensional-array apply mean correlation
|
show 3 more comments
I want to compute dynamic conditional correlation(dcc) mean matrix at all time.
Rho is each day matrix.
but i want to make a mean matrix all day (not each day)
this is DCC-garch model.
library(rugarch)
library(rmgarch)
library(xts)
stockdata<-read.zoo("C:\Users\Taehee Cha\Desktop\\data\EUCall.csv",
header=TRUE,
sep=",",
format = "%Y-%m-%d",
nrow=4433)
stock_xts<-as.xts(stockdata,dateFormat='POSIXct')
DKOSPI200 <-diff(log(stock_xts$KOSPI200))*100
DDAX30 <-diff(log(stock_xts$DAX30))*100
DSNP500 <-diff(log(stock_xts$SNP500))*100
DFTSE100 <-diff(log(stock_xts$FTSE100))*100
...
data2<-data.frame(DKOSPI200,DDAX30,DSNP500,DFTSE100,DEUROSTOXX50,DFTSEMIB,DNIKKEI225,DSNPTSX,DCAC40,DJSE40,
DRTS,DIPC,DBOVESPA,DTadawul,DMERV,DSENSEX,DJSX,DSSE,DXU100,DSNPASX,
DATHEX,DAEX,DOBX,DSNPNZ50,DTAIEX,DOMXC20,DKLCI,DBEL20,DOMXS30,DSMI,
DIBEX,DSTI,DADX,DISEQ,DATX,DTA35,DEGX30,DPX50,DIPSA,DQE,
DIGBC,DSET,DKarachi100,DSNPBVL,DPSI20,DWIG20,DOMXH25,DPSEI,DBUX,DHANGSENG)
Univarate GARCH specification
gjrGARCH.spec <-ugarchspec(variance.model=list(model="gjrGARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(1,0)))
Multivarate GARCH specification
dcc.gjrGARCH.spec=dccspec(uspec=multispec(replicate(50,gjrGARCH.spec)),
dccOrder=c(1,1),
distribution="mvnorm")
OUTCOME=dccfit(dcc.gjrGARCH.spec, data=data2)
Fit<-fitted(OUTCOME)
Sigma<-sigma(OUTCOME)
Rho<-rcor(OUTCOME)
dim(Rho)
>50 50 4432
I tried this, but I failed.
dccmean<-apply(Rho, c(1:4432), mean)
Error message:
Error in if (d2 == 0L) { : missing value where TRUE/FALSE needed
please help me....
> dput(head(data2))
structure(list(KOSPI200 = c(-0.64107155376405, -2.63428514277591,
-3.02361881202007, -0.348129159251176, -0.8463497185911, 0.933495693605124
), DAX30 = c(-0.275158289647415, -2.31165589473132, 0.132288230298805,
-0.916302412003311, -0.249954511741102, 1.5067409708557), SNP500 = c(0,
-1.23978129442266, -2.37787312356224, 0.68553903957973, -1.45026278352685,
-0.113477591886735), FTSE100 = c(-0.912643889420117, -1.27612498082748,
-0.189622000351441, -0.0175554735125871, -1.40042215908522, 1.65029716900129
), EUROSTOXX50 = c(-0.693995680230763, -2.63873467285407, 0.0340923169277474,
-1.10692637764913, -1.45688992650648, 0.90690109636018), FTSEMIB = c(-0.207307997135331,
-2.20987523065315, 0.11929602916414, -0.591164923299203, -1.23334692081265,
0.0674451667508791), NIKKEI225 = c(-0.172132904979705, -2.41825620786038,
-0.541031623946608, 0.494946220458736, -2.43002026761108, 3.30050037277818
), SNPTSX = c(-0.228827286223954, -0.618158165738869, -1.163192751949,
0.611234081963197, -1.07887096999253, 0.15982056970163), CAC40 = c(-0.996225333005363,
-2.45923020374033, 0.558708030675348, -1.07932737047562, -1.18770661796788,
0.946736097241008), JSE40 = c(-1.24801019778307, -0.660388491185593,
-0.378077731086712, 1.12913917165454, -0.270357667812782, 0.925230160391344
), RTS = c(1.69252595201295, -2.47912051247043, -1.68278329224893,
-0.628193976078784, -5.81832854668214, 2.33324601133127), IPC = c(0.410660821053099,
-0.793221688816637, -1.46058560736098, -0.0995162816563422, 0.0582618177329408,
-2.24304020680233), BOVESPA = c(-2.08399544316435, -0.0640501036023977,
-1.00884481719454, 0, -2.45326225130107, 1.76775969319749), Tadawul = c(-0.0751612871260576,
1.06988441714364, 0.467558379080923, 0.015629948658713, -0.479468927554549,
0.115645625170213), MERV = c(-0.812834284218145, -3.48526114996641,
-0.789176542098158, 0, -6.3347627637631, -2.25802417775345),
SENSEX = c(0.173466860804083, -0.357822108056638, -0.45387164272519,
1.1318914393021, 1.4301129114795, 2.24172363852979), JSX = c(0.464645515331874,
0.433624214120076, 0.382746462253802, 0.245017602482989,
0.417626097951018, 0.919117215344212), SSE = c(-0.9304947624722,
-0.512019911931727, -0.0399062163143782, 0.923519675548068,
-0.965701174169897, -0.149922817153048), XU100 = c(0.83997183599358,
-9.44220433432204, -1.19486088286003, -5.93037167728525,
-8.13019316543659, 4.39805147087551), SNPASX = c(-1.52481837941529,
-0.710076219124112, -0.355441763724151, 0.43889183264465,
0.632546988595983, 0.431277069387725), ATHEX = c(0.217251999604962,
-0.113093185749946, -4.08702446400842, -1.49759637062132,
-2.89449541976028, 2.84821759239637), AEX = c(-0.302724751872496,
-1.93350674725812, -0.334531789971226, -0.27844233175518,
-1.47467944242914, 0.59320521917563), OBX = c(-0.633345799178109,
-0.0872437271016935, -0.0686020794624653, -0.751459482064121,
-0.314782430663918, -0.138818800687446), SNPNZ50 = c(-0.589289243578772,
-0.212470628567818, -1.09525597597484, 1.56062961309287,
-0.594970797797778, 0.308439154148132), TAIEX = c(-0.634186259073921,
-0.0465155309724352, -1.06170058328026, -0.875355087660168,
-1.4930992055346, 1.85698166429091), OMXC20 = c(0.0415607672345608,
-0.892547743122307, 0.895744009882993, 0.00639222705407505,
-0.515886239547392, -0.744864387047794), KLCI = c(3.12710622798287,
1.55475618644338, 0.141888091655584, -0.2344629562125, -1.32130772048118,
-1.3324408754646), BEL20 = c(0.916239489510673, -0.838871120292239,
-0.349848101836958, 0.131119279926573, -0.220949965581685,
0.925072128183135), OMXS30 = c(-2.30694346428235, -3.59314374436401,
-0.132526843920378, -0.26558175544098, -0.700219536449254,
2.21356560948696), SMI = c(-0.923178651961543, -1.9888683347407,
0.190440901601185, -1.31581319814948, -1.24166996356809,
1.74938111396603), IBEX = c(-1.10228247337272, -3.30519689438287,
0.28541077977593, -0.719194686241131, -2.37890150982238,
-1.20979032592885), STI = c(-0.376825693193794, -1.56959227075815,
-0.209405887533087, 1.59189359203387, -0.998471722830718,
0.524545937488519), ADX = c(0, 0.234110707042312, -0.140988509294804,
-0.107833632972643, -0.00392341494084292, 0), ISEQ = c(-0.497210204416199,
-1.28827940816549, 1.05427460869301, 0.691923594974142, -1.2985333059083,
1.05885040639215), ATX = c(0.196176688098504, -0.397720264421864,
0.765032409498989, 0.634860192671294, -0.718109388684507,
0.288191756274081), TA35 = c(-0.467643907976623, -1.6933214269244,
0.638360404963567, 1.66873087937374, -1.03207784150818, 1.98476257832283
), EGX30 = c(-1.60808620054533, 0.486603179063838, 0.042060989053283,
-0.582335360174024, -1.05485347621963, 0.329916835288824),
PX50 = c(0, 0, -1.53717800478548, -0.567132576686191, -1.79645549752987,
0.100654261140143), IPSA = c(0.561439712306022, 0.849792667039129,
-0.327031029818503, -0.154168073702365, -0.737696755949457,
-0.476817106576277), QE = c(0.124155575561335, -0.299696872832733,
-0.087886339332055, 0.0366286953290995, 0.109805655043083,
0.0585137524009127), IGBC = c(0.151884596926966, -0.461362987666014,
1.12811837108895, 0.0931901841028981, 0.149517561508272,
0.312176099410877), SET = c(-0.475964725298805, 0, -0.126280143061397,
-0.243770852799319, -3.47030045650181, 0.752026997121558),
Karachi100 = c(-1.2595250361283, -1.09859841657665, -0.467295948347779,
-0.176282035250352, 1.06144685237481, 0.614077017080827),
SNPBVL = c(-0.0916272845215893, -0.488603970907153, -0.635609686024718,
0.72544080956467, -1.05989054433602, -0.290056131898186),
PSI20 = c(-0.498150623441695, -2.4995090145449, -0.916173928749231,
0.134620833204835, -1.96674118284665, 0.125363501017972),
WIG20 = c(-0.186154209522993, 2.29090171954054, -1.21234613135197,
-2.35741884661973, -1.39537944100319, 4.04050146384076),
OMXH25 = c(-0.734161177012371, -3.2781107280087, -0.274240630336653,
0.164265778301331, -2.88555610228327, 0.0196123710402674),
PSEI = c(1.16491407781849, -0.379401344663943, 0.604503127264966,
-0.551543468404248, -0.542372265371061, 0.668217806598204
), BUX = c(0.745432319945749, -0.407296683745706, 1.4847908668413,
-1.73656177766137, -1.70838647119353, 0.642365839539494),
HANGSENG = c(-1.58777648289217, 0, -2.40414908704771, 0.182801734695737,
-1.47377260414583, 1.05050572830176)), row.names = c("2001-07-05",
"2001-07-06", "2001-07-09", "2001-07-10", "2001-07-11", "2001-07-12"
), class = "data.frame")
I think it will be more useful to solve my problem.
dim(Rho)
>50 50 4432
> dput(head(Rho))
c(1, 0.28274756492168, 0.366762864615763, 0.287187938929745,
0.279313675150249, 0.25099353597608)
> str(Rho)
num [1:50, 1:50, 1:4432] 1 0.283 0.367 0.287 0.279 ...
- attr(*, "dimnames")=List of 3
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:4432] "2001-07-05" "2001-07-06" "2001-07-09" "2001-07-10" ...
My questions
#, , "2001-07-05"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
#, , "2001-07-06"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
##----->I want to this ((ex)sum)
#, ,
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 2 10 18 26
#DAX30 4 12 20 28
#SNP500 6 14 22 30
#FTSE100 8 16 24 32
r multidimensional-array apply mean correlation
1
Please specify the used libraries and providedata2
.
– jay.sf
Nov 20 at 13:41
1
data2 is difference time data.
– 차태희
Nov 20 at 15:12
1
Can you post the output ofdput(data2)
, or if its too longdput(head(data2))
into the question?
– jay.sf
Nov 20 at 15:14
I modified the edit.
– 차태희
Nov 20 at 15:31
1
Better. But we cannot reproduce"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should providestockdata
too. Probably you should consider How to make a great reproducible example, thanks.
– jay.sf
Nov 20 at 15:47
|
show 3 more comments
I want to compute dynamic conditional correlation(dcc) mean matrix at all time.
Rho is each day matrix.
but i want to make a mean matrix all day (not each day)
this is DCC-garch model.
library(rugarch)
library(rmgarch)
library(xts)
stockdata<-read.zoo("C:\Users\Taehee Cha\Desktop\\data\EUCall.csv",
header=TRUE,
sep=",",
format = "%Y-%m-%d",
nrow=4433)
stock_xts<-as.xts(stockdata,dateFormat='POSIXct')
DKOSPI200 <-diff(log(stock_xts$KOSPI200))*100
DDAX30 <-diff(log(stock_xts$DAX30))*100
DSNP500 <-diff(log(stock_xts$SNP500))*100
DFTSE100 <-diff(log(stock_xts$FTSE100))*100
...
data2<-data.frame(DKOSPI200,DDAX30,DSNP500,DFTSE100,DEUROSTOXX50,DFTSEMIB,DNIKKEI225,DSNPTSX,DCAC40,DJSE40,
DRTS,DIPC,DBOVESPA,DTadawul,DMERV,DSENSEX,DJSX,DSSE,DXU100,DSNPASX,
DATHEX,DAEX,DOBX,DSNPNZ50,DTAIEX,DOMXC20,DKLCI,DBEL20,DOMXS30,DSMI,
DIBEX,DSTI,DADX,DISEQ,DATX,DTA35,DEGX30,DPX50,DIPSA,DQE,
DIGBC,DSET,DKarachi100,DSNPBVL,DPSI20,DWIG20,DOMXH25,DPSEI,DBUX,DHANGSENG)
Univarate GARCH specification
gjrGARCH.spec <-ugarchspec(variance.model=list(model="gjrGARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(1,0)))
Multivarate GARCH specification
dcc.gjrGARCH.spec=dccspec(uspec=multispec(replicate(50,gjrGARCH.spec)),
dccOrder=c(1,1),
distribution="mvnorm")
OUTCOME=dccfit(dcc.gjrGARCH.spec, data=data2)
Fit<-fitted(OUTCOME)
Sigma<-sigma(OUTCOME)
Rho<-rcor(OUTCOME)
dim(Rho)
>50 50 4432
I tried this, but I failed.
dccmean<-apply(Rho, c(1:4432), mean)
Error message:
Error in if (d2 == 0L) { : missing value where TRUE/FALSE needed
please help me....
> dput(head(data2))
structure(list(KOSPI200 = c(-0.64107155376405, -2.63428514277591,
-3.02361881202007, -0.348129159251176, -0.8463497185911, 0.933495693605124
), DAX30 = c(-0.275158289647415, -2.31165589473132, 0.132288230298805,
-0.916302412003311, -0.249954511741102, 1.5067409708557), SNP500 = c(0,
-1.23978129442266, -2.37787312356224, 0.68553903957973, -1.45026278352685,
-0.113477591886735), FTSE100 = c(-0.912643889420117, -1.27612498082748,
-0.189622000351441, -0.0175554735125871, -1.40042215908522, 1.65029716900129
), EUROSTOXX50 = c(-0.693995680230763, -2.63873467285407, 0.0340923169277474,
-1.10692637764913, -1.45688992650648, 0.90690109636018), FTSEMIB = c(-0.207307997135331,
-2.20987523065315, 0.11929602916414, -0.591164923299203, -1.23334692081265,
0.0674451667508791), NIKKEI225 = c(-0.172132904979705, -2.41825620786038,
-0.541031623946608, 0.494946220458736, -2.43002026761108, 3.30050037277818
), SNPTSX = c(-0.228827286223954, -0.618158165738869, -1.163192751949,
0.611234081963197, -1.07887096999253, 0.15982056970163), CAC40 = c(-0.996225333005363,
-2.45923020374033, 0.558708030675348, -1.07932737047562, -1.18770661796788,
0.946736097241008), JSE40 = c(-1.24801019778307, -0.660388491185593,
-0.378077731086712, 1.12913917165454, -0.270357667812782, 0.925230160391344
), RTS = c(1.69252595201295, -2.47912051247043, -1.68278329224893,
-0.628193976078784, -5.81832854668214, 2.33324601133127), IPC = c(0.410660821053099,
-0.793221688816637, -1.46058560736098, -0.0995162816563422, 0.0582618177329408,
-2.24304020680233), BOVESPA = c(-2.08399544316435, -0.0640501036023977,
-1.00884481719454, 0, -2.45326225130107, 1.76775969319749), Tadawul = c(-0.0751612871260576,
1.06988441714364, 0.467558379080923, 0.015629948658713, -0.479468927554549,
0.115645625170213), MERV = c(-0.812834284218145, -3.48526114996641,
-0.789176542098158, 0, -6.3347627637631, -2.25802417775345),
SENSEX = c(0.173466860804083, -0.357822108056638, -0.45387164272519,
1.1318914393021, 1.4301129114795, 2.24172363852979), JSX = c(0.464645515331874,
0.433624214120076, 0.382746462253802, 0.245017602482989,
0.417626097951018, 0.919117215344212), SSE = c(-0.9304947624722,
-0.512019911931727, -0.0399062163143782, 0.923519675548068,
-0.965701174169897, -0.149922817153048), XU100 = c(0.83997183599358,
-9.44220433432204, -1.19486088286003, -5.93037167728525,
-8.13019316543659, 4.39805147087551), SNPASX = c(-1.52481837941529,
-0.710076219124112, -0.355441763724151, 0.43889183264465,
0.632546988595983, 0.431277069387725), ATHEX = c(0.217251999604962,
-0.113093185749946, -4.08702446400842, -1.49759637062132,
-2.89449541976028, 2.84821759239637), AEX = c(-0.302724751872496,
-1.93350674725812, -0.334531789971226, -0.27844233175518,
-1.47467944242914, 0.59320521917563), OBX = c(-0.633345799178109,
-0.0872437271016935, -0.0686020794624653, -0.751459482064121,
-0.314782430663918, -0.138818800687446), SNPNZ50 = c(-0.589289243578772,
-0.212470628567818, -1.09525597597484, 1.56062961309287,
-0.594970797797778, 0.308439154148132), TAIEX = c(-0.634186259073921,
-0.0465155309724352, -1.06170058328026, -0.875355087660168,
-1.4930992055346, 1.85698166429091), OMXC20 = c(0.0415607672345608,
-0.892547743122307, 0.895744009882993, 0.00639222705407505,
-0.515886239547392, -0.744864387047794), KLCI = c(3.12710622798287,
1.55475618644338, 0.141888091655584, -0.2344629562125, -1.32130772048118,
-1.3324408754646), BEL20 = c(0.916239489510673, -0.838871120292239,
-0.349848101836958, 0.131119279926573, -0.220949965581685,
0.925072128183135), OMXS30 = c(-2.30694346428235, -3.59314374436401,
-0.132526843920378, -0.26558175544098, -0.700219536449254,
2.21356560948696), SMI = c(-0.923178651961543, -1.9888683347407,
0.190440901601185, -1.31581319814948, -1.24166996356809,
1.74938111396603), IBEX = c(-1.10228247337272, -3.30519689438287,
0.28541077977593, -0.719194686241131, -2.37890150982238,
-1.20979032592885), STI = c(-0.376825693193794, -1.56959227075815,
-0.209405887533087, 1.59189359203387, -0.998471722830718,
0.524545937488519), ADX = c(0, 0.234110707042312, -0.140988509294804,
-0.107833632972643, -0.00392341494084292, 0), ISEQ = c(-0.497210204416199,
-1.28827940816549, 1.05427460869301, 0.691923594974142, -1.2985333059083,
1.05885040639215), ATX = c(0.196176688098504, -0.397720264421864,
0.765032409498989, 0.634860192671294, -0.718109388684507,
0.288191756274081), TA35 = c(-0.467643907976623, -1.6933214269244,
0.638360404963567, 1.66873087937374, -1.03207784150818, 1.98476257832283
), EGX30 = c(-1.60808620054533, 0.486603179063838, 0.042060989053283,
-0.582335360174024, -1.05485347621963, 0.329916835288824),
PX50 = c(0, 0, -1.53717800478548, -0.567132576686191, -1.79645549752987,
0.100654261140143), IPSA = c(0.561439712306022, 0.849792667039129,
-0.327031029818503, -0.154168073702365, -0.737696755949457,
-0.476817106576277), QE = c(0.124155575561335, -0.299696872832733,
-0.087886339332055, 0.0366286953290995, 0.109805655043083,
0.0585137524009127), IGBC = c(0.151884596926966, -0.461362987666014,
1.12811837108895, 0.0931901841028981, 0.149517561508272,
0.312176099410877), SET = c(-0.475964725298805, 0, -0.126280143061397,
-0.243770852799319, -3.47030045650181, 0.752026997121558),
Karachi100 = c(-1.2595250361283, -1.09859841657665, -0.467295948347779,
-0.176282035250352, 1.06144685237481, 0.614077017080827),
SNPBVL = c(-0.0916272845215893, -0.488603970907153, -0.635609686024718,
0.72544080956467, -1.05989054433602, -0.290056131898186),
PSI20 = c(-0.498150623441695, -2.4995090145449, -0.916173928749231,
0.134620833204835, -1.96674118284665, 0.125363501017972),
WIG20 = c(-0.186154209522993, 2.29090171954054, -1.21234613135197,
-2.35741884661973, -1.39537944100319, 4.04050146384076),
OMXH25 = c(-0.734161177012371, -3.2781107280087, -0.274240630336653,
0.164265778301331, -2.88555610228327, 0.0196123710402674),
PSEI = c(1.16491407781849, -0.379401344663943, 0.604503127264966,
-0.551543468404248, -0.542372265371061, 0.668217806598204
), BUX = c(0.745432319945749, -0.407296683745706, 1.4847908668413,
-1.73656177766137, -1.70838647119353, 0.642365839539494),
HANGSENG = c(-1.58777648289217, 0, -2.40414908704771, 0.182801734695737,
-1.47377260414583, 1.05050572830176)), row.names = c("2001-07-05",
"2001-07-06", "2001-07-09", "2001-07-10", "2001-07-11", "2001-07-12"
), class = "data.frame")
I think it will be more useful to solve my problem.
dim(Rho)
>50 50 4432
> dput(head(Rho))
c(1, 0.28274756492168, 0.366762864615763, 0.287187938929745,
0.279313675150249, 0.25099353597608)
> str(Rho)
num [1:50, 1:50, 1:4432] 1 0.283 0.367 0.287 0.279 ...
- attr(*, "dimnames")=List of 3
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:4432] "2001-07-05" "2001-07-06" "2001-07-09" "2001-07-10" ...
My questions
#, , "2001-07-05"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
#, , "2001-07-06"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
##----->I want to this ((ex)sum)
#, ,
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 2 10 18 26
#DAX30 4 12 20 28
#SNP500 6 14 22 30
#FTSE100 8 16 24 32
r multidimensional-array apply mean correlation
I want to compute dynamic conditional correlation(dcc) mean matrix at all time.
Rho is each day matrix.
but i want to make a mean matrix all day (not each day)
this is DCC-garch model.
library(rugarch)
library(rmgarch)
library(xts)
stockdata<-read.zoo("C:\Users\Taehee Cha\Desktop\\data\EUCall.csv",
header=TRUE,
sep=",",
format = "%Y-%m-%d",
nrow=4433)
stock_xts<-as.xts(stockdata,dateFormat='POSIXct')
DKOSPI200 <-diff(log(stock_xts$KOSPI200))*100
DDAX30 <-diff(log(stock_xts$DAX30))*100
DSNP500 <-diff(log(stock_xts$SNP500))*100
DFTSE100 <-diff(log(stock_xts$FTSE100))*100
...
data2<-data.frame(DKOSPI200,DDAX30,DSNP500,DFTSE100,DEUROSTOXX50,DFTSEMIB,DNIKKEI225,DSNPTSX,DCAC40,DJSE40,
DRTS,DIPC,DBOVESPA,DTadawul,DMERV,DSENSEX,DJSX,DSSE,DXU100,DSNPASX,
DATHEX,DAEX,DOBX,DSNPNZ50,DTAIEX,DOMXC20,DKLCI,DBEL20,DOMXS30,DSMI,
DIBEX,DSTI,DADX,DISEQ,DATX,DTA35,DEGX30,DPX50,DIPSA,DQE,
DIGBC,DSET,DKarachi100,DSNPBVL,DPSI20,DWIG20,DOMXH25,DPSEI,DBUX,DHANGSENG)
Univarate GARCH specification
gjrGARCH.spec <-ugarchspec(variance.model=list(model="gjrGARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(1,0)))
Multivarate GARCH specification
dcc.gjrGARCH.spec=dccspec(uspec=multispec(replicate(50,gjrGARCH.spec)),
dccOrder=c(1,1),
distribution="mvnorm")
OUTCOME=dccfit(dcc.gjrGARCH.spec, data=data2)
Fit<-fitted(OUTCOME)
Sigma<-sigma(OUTCOME)
Rho<-rcor(OUTCOME)
dim(Rho)
>50 50 4432
I tried this, but I failed.
dccmean<-apply(Rho, c(1:4432), mean)
Error message:
Error in if (d2 == 0L) { : missing value where TRUE/FALSE needed
please help me....
> dput(head(data2))
structure(list(KOSPI200 = c(-0.64107155376405, -2.63428514277591,
-3.02361881202007, -0.348129159251176, -0.8463497185911, 0.933495693605124
), DAX30 = c(-0.275158289647415, -2.31165589473132, 0.132288230298805,
-0.916302412003311, -0.249954511741102, 1.5067409708557), SNP500 = c(0,
-1.23978129442266, -2.37787312356224, 0.68553903957973, -1.45026278352685,
-0.113477591886735), FTSE100 = c(-0.912643889420117, -1.27612498082748,
-0.189622000351441, -0.0175554735125871, -1.40042215908522, 1.65029716900129
), EUROSTOXX50 = c(-0.693995680230763, -2.63873467285407, 0.0340923169277474,
-1.10692637764913, -1.45688992650648, 0.90690109636018), FTSEMIB = c(-0.207307997135331,
-2.20987523065315, 0.11929602916414, -0.591164923299203, -1.23334692081265,
0.0674451667508791), NIKKEI225 = c(-0.172132904979705, -2.41825620786038,
-0.541031623946608, 0.494946220458736, -2.43002026761108, 3.30050037277818
), SNPTSX = c(-0.228827286223954, -0.618158165738869, -1.163192751949,
0.611234081963197, -1.07887096999253, 0.15982056970163), CAC40 = c(-0.996225333005363,
-2.45923020374033, 0.558708030675348, -1.07932737047562, -1.18770661796788,
0.946736097241008), JSE40 = c(-1.24801019778307, -0.660388491185593,
-0.378077731086712, 1.12913917165454, -0.270357667812782, 0.925230160391344
), RTS = c(1.69252595201295, -2.47912051247043, -1.68278329224893,
-0.628193976078784, -5.81832854668214, 2.33324601133127), IPC = c(0.410660821053099,
-0.793221688816637, -1.46058560736098, -0.0995162816563422, 0.0582618177329408,
-2.24304020680233), BOVESPA = c(-2.08399544316435, -0.0640501036023977,
-1.00884481719454, 0, -2.45326225130107, 1.76775969319749), Tadawul = c(-0.0751612871260576,
1.06988441714364, 0.467558379080923, 0.015629948658713, -0.479468927554549,
0.115645625170213), MERV = c(-0.812834284218145, -3.48526114996641,
-0.789176542098158, 0, -6.3347627637631, -2.25802417775345),
SENSEX = c(0.173466860804083, -0.357822108056638, -0.45387164272519,
1.1318914393021, 1.4301129114795, 2.24172363852979), JSX = c(0.464645515331874,
0.433624214120076, 0.382746462253802, 0.245017602482989,
0.417626097951018, 0.919117215344212), SSE = c(-0.9304947624722,
-0.512019911931727, -0.0399062163143782, 0.923519675548068,
-0.965701174169897, -0.149922817153048), XU100 = c(0.83997183599358,
-9.44220433432204, -1.19486088286003, -5.93037167728525,
-8.13019316543659, 4.39805147087551), SNPASX = c(-1.52481837941529,
-0.710076219124112, -0.355441763724151, 0.43889183264465,
0.632546988595983, 0.431277069387725), ATHEX = c(0.217251999604962,
-0.113093185749946, -4.08702446400842, -1.49759637062132,
-2.89449541976028, 2.84821759239637), AEX = c(-0.302724751872496,
-1.93350674725812, -0.334531789971226, -0.27844233175518,
-1.47467944242914, 0.59320521917563), OBX = c(-0.633345799178109,
-0.0872437271016935, -0.0686020794624653, -0.751459482064121,
-0.314782430663918, -0.138818800687446), SNPNZ50 = c(-0.589289243578772,
-0.212470628567818, -1.09525597597484, 1.56062961309287,
-0.594970797797778, 0.308439154148132), TAIEX = c(-0.634186259073921,
-0.0465155309724352, -1.06170058328026, -0.875355087660168,
-1.4930992055346, 1.85698166429091), OMXC20 = c(0.0415607672345608,
-0.892547743122307, 0.895744009882993, 0.00639222705407505,
-0.515886239547392, -0.744864387047794), KLCI = c(3.12710622798287,
1.55475618644338, 0.141888091655584, -0.2344629562125, -1.32130772048118,
-1.3324408754646), BEL20 = c(0.916239489510673, -0.838871120292239,
-0.349848101836958, 0.131119279926573, -0.220949965581685,
0.925072128183135), OMXS30 = c(-2.30694346428235, -3.59314374436401,
-0.132526843920378, -0.26558175544098, -0.700219536449254,
2.21356560948696), SMI = c(-0.923178651961543, -1.9888683347407,
0.190440901601185, -1.31581319814948, -1.24166996356809,
1.74938111396603), IBEX = c(-1.10228247337272, -3.30519689438287,
0.28541077977593, -0.719194686241131, -2.37890150982238,
-1.20979032592885), STI = c(-0.376825693193794, -1.56959227075815,
-0.209405887533087, 1.59189359203387, -0.998471722830718,
0.524545937488519), ADX = c(0, 0.234110707042312, -0.140988509294804,
-0.107833632972643, -0.00392341494084292, 0), ISEQ = c(-0.497210204416199,
-1.28827940816549, 1.05427460869301, 0.691923594974142, -1.2985333059083,
1.05885040639215), ATX = c(0.196176688098504, -0.397720264421864,
0.765032409498989, 0.634860192671294, -0.718109388684507,
0.288191756274081), TA35 = c(-0.467643907976623, -1.6933214269244,
0.638360404963567, 1.66873087937374, -1.03207784150818, 1.98476257832283
), EGX30 = c(-1.60808620054533, 0.486603179063838, 0.042060989053283,
-0.582335360174024, -1.05485347621963, 0.329916835288824),
PX50 = c(0, 0, -1.53717800478548, -0.567132576686191, -1.79645549752987,
0.100654261140143), IPSA = c(0.561439712306022, 0.849792667039129,
-0.327031029818503, -0.154168073702365, -0.737696755949457,
-0.476817106576277), QE = c(0.124155575561335, -0.299696872832733,
-0.087886339332055, 0.0366286953290995, 0.109805655043083,
0.0585137524009127), IGBC = c(0.151884596926966, -0.461362987666014,
1.12811837108895, 0.0931901841028981, 0.149517561508272,
0.312176099410877), SET = c(-0.475964725298805, 0, -0.126280143061397,
-0.243770852799319, -3.47030045650181, 0.752026997121558),
Karachi100 = c(-1.2595250361283, -1.09859841657665, -0.467295948347779,
-0.176282035250352, 1.06144685237481, 0.614077017080827),
SNPBVL = c(-0.0916272845215893, -0.488603970907153, -0.635609686024718,
0.72544080956467, -1.05989054433602, -0.290056131898186),
PSI20 = c(-0.498150623441695, -2.4995090145449, -0.916173928749231,
0.134620833204835, -1.96674118284665, 0.125363501017972),
WIG20 = c(-0.186154209522993, 2.29090171954054, -1.21234613135197,
-2.35741884661973, -1.39537944100319, 4.04050146384076),
OMXH25 = c(-0.734161177012371, -3.2781107280087, -0.274240630336653,
0.164265778301331, -2.88555610228327, 0.0196123710402674),
PSEI = c(1.16491407781849, -0.379401344663943, 0.604503127264966,
-0.551543468404248, -0.542372265371061, 0.668217806598204
), BUX = c(0.745432319945749, -0.407296683745706, 1.4847908668413,
-1.73656177766137, -1.70838647119353, 0.642365839539494),
HANGSENG = c(-1.58777648289217, 0, -2.40414908704771, 0.182801734695737,
-1.47377260414583, 1.05050572830176)), row.names = c("2001-07-05",
"2001-07-06", "2001-07-09", "2001-07-10", "2001-07-11", "2001-07-12"
), class = "data.frame")
I think it will be more useful to solve my problem.
dim(Rho)
>50 50 4432
> dput(head(Rho))
c(1, 0.28274756492168, 0.366762864615763, 0.287187938929745,
0.279313675150249, 0.25099353597608)
> str(Rho)
num [1:50, 1:50, 1:4432] 1 0.283 0.367 0.287 0.279 ...
- attr(*, "dimnames")=List of 3
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:50] "KOSPI200" "DAX30" "SNP500" "FTSE100" ...
..$ : chr [1:4432] "2001-07-05" "2001-07-06" "2001-07-09" "2001-07-10" ...
My questions
#, , "2001-07-05"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
#, , "2001-07-06"
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 1 5 9 13
#DAX30 2 6 10 14
#SNP500 3 7 11 15
#FTSE100 4 8 12 16
##----->I want to this ((ex)sum)
#, ,
# KOSPI200 DAX30 SNP500 FTSE100
#KOSPI200 2 10 18 26
#DAX30 4 12 20 28
#SNP500 6 14 22 30
#FTSE100 8 16 24 32
r multidimensional-array apply mean correlation
r multidimensional-array apply mean correlation
edited Nov 21 at 7:59
asked Nov 20 at 13:24
차태희
62
62
1
Please specify the used libraries and providedata2
.
– jay.sf
Nov 20 at 13:41
1
data2 is difference time data.
– 차태희
Nov 20 at 15:12
1
Can you post the output ofdput(data2)
, or if its too longdput(head(data2))
into the question?
– jay.sf
Nov 20 at 15:14
I modified the edit.
– 차태희
Nov 20 at 15:31
1
Better. But we cannot reproduce"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should providestockdata
too. Probably you should consider How to make a great reproducible example, thanks.
– jay.sf
Nov 20 at 15:47
|
show 3 more comments
1
Please specify the used libraries and providedata2
.
– jay.sf
Nov 20 at 13:41
1
data2 is difference time data.
– 차태희
Nov 20 at 15:12
1
Can you post the output ofdput(data2)
, or if its too longdput(head(data2))
into the question?
– jay.sf
Nov 20 at 15:14
I modified the edit.
– 차태희
Nov 20 at 15:31
1
Better. But we cannot reproduce"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should providestockdata
too. Probably you should consider How to make a great reproducible example, thanks.
– jay.sf
Nov 20 at 15:47
1
1
Please specify the used libraries and provide
data2
.– jay.sf
Nov 20 at 13:41
Please specify the used libraries and provide
data2
.– jay.sf
Nov 20 at 13:41
1
1
data2 is difference time data.
– 차태희
Nov 20 at 15:12
data2 is difference time data.
– 차태희
Nov 20 at 15:12
1
1
Can you post the output of
dput(data2)
, or if its too long dput(head(data2))
into the question?– jay.sf
Nov 20 at 15:14
Can you post the output of
dput(data2)
, or if its too long dput(head(data2))
into the question?– jay.sf
Nov 20 at 15:14
I modified the edit.
– 차태희
Nov 20 at 15:31
I modified the edit.
– 차태희
Nov 20 at 15:31
1
1
Better. But we cannot reproduce
"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should provide stockdata
too. Probably you should consider How to make a great reproducible example, thanks.– jay.sf
Nov 20 at 15:47
Better. But we cannot reproduce
"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should provide stockdata
too. Probably you should consider How to make a great reproducible example, thanks.– jay.sf
Nov 20 at 15:47
|
show 3 more comments
1 Answer
1
active
oldest
votes
The error of your code is in the MARGIN
of your apply call. Do not use c(1:4412)
, use the actual margins which are the first and second dimension (hence c(1,2)
)
In the last example of your question:
day1 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
day2 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
Rho <- abind::abind(day1=day1,day2=day2, along = 3)
apply(Rho, c(1,2), sum)
A B C D
a 2 10 18 26
b 4 12 20 28
c 6 14 22 30
d 8 16 24 32
gives the wanted output.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53393987%2fhow-can-i-compute-multi-dimension-mean-matrix%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The error of your code is in the MARGIN
of your apply call. Do not use c(1:4412)
, use the actual margins which are the first and second dimension (hence c(1,2)
)
In the last example of your question:
day1 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
day2 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
Rho <- abind::abind(day1=day1,day2=day2, along = 3)
apply(Rho, c(1,2), sum)
A B C D
a 2 10 18 26
b 4 12 20 28
c 6 14 22 30
d 8 16 24 32
gives the wanted output.
add a comment |
The error of your code is in the MARGIN
of your apply call. Do not use c(1:4412)
, use the actual margins which are the first and second dimension (hence c(1,2)
)
In the last example of your question:
day1 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
day2 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
Rho <- abind::abind(day1=day1,day2=day2, along = 3)
apply(Rho, c(1,2), sum)
A B C D
a 2 10 18 26
b 4 12 20 28
c 6 14 22 30
d 8 16 24 32
gives the wanted output.
add a comment |
The error of your code is in the MARGIN
of your apply call. Do not use c(1:4412)
, use the actual margins which are the first and second dimension (hence c(1,2)
)
In the last example of your question:
day1 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
day2 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
Rho <- abind::abind(day1=day1,day2=day2, along = 3)
apply(Rho, c(1,2), sum)
A B C D
a 2 10 18 26
b 4 12 20 28
c 6 14 22 30
d 8 16 24 32
gives the wanted output.
The error of your code is in the MARGIN
of your apply call. Do not use c(1:4412)
, use the actual margins which are the first and second dimension (hence c(1,2)
)
In the last example of your question:
day1 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
day2 <- matrix(1:16, 4, 4, dimnames = list(letters[1:4], LETTERS[1:4]))
Rho <- abind::abind(day1=day1,day2=day2, along = 3)
apply(Rho, c(1,2), sum)
A B C D
a 2 10 18 26
b 4 12 20 28
c 6 14 22 30
d 8 16 24 32
gives the wanted output.
answered Nov 21 at 18:13
Bastien
1,391720
1,391720
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53393987%2fhow-can-i-compute-multi-dimension-mean-matrix%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Please specify the used libraries and provide
data2
.– jay.sf
Nov 20 at 13:41
1
data2 is difference time data.
– 차태희
Nov 20 at 15:12
1
Can you post the output of
dput(data2)
, or if its too longdput(head(data2))
into the question?– jay.sf
Nov 20 at 15:14
I modified the edit.
– 차태희
Nov 20 at 15:31
1
Better. But we cannot reproduce
"C:\Users\Taehee Cha\Desktop\\data\EUCall.csv"
. You should providestockdata
too. Probably you should consider How to make a great reproducible example, thanks.– jay.sf
Nov 20 at 15:47