Last chance! 50% off unlimited learning
Sale ends in
corspec(spec1, spec2, f = NULL, plot = TRUE, plotval = TRUE,
method = "spearman", col = "black", colval = "red",
cexval = 1, fontval = 1, xlab = "Frequency (kHz)",
ylab = "Coefficient of correlation (r)", type="l",...)
spec1
and spec2
(in Hz). Not necessary if spec1
and/or spec2
is a two columns matrix obtained with spec
TRUE
plots r values against frequency shift (by default TRUE
).TRUE
adds to the plot maximum r value
and frequency offset (by default TRUE
).cor
).plot
is TRUE
, type of plot that should be drawn.
See plot
for details (by default "l" for lines).plot
graphical parameters.plot
is FALSE
, corspec
returns a list containing four
components:spec1
and spec2
(correlation y-axis).spec1
and spec2
.rmax
.rmax
.spec1
and spec2
are computed when regularly
shifting spec2
towards lower or higher frequencies.
The maximal correlation is obtained at a particular shift (frequency offset).
This shift may be positive or negative.
The corresponding p value, obtained with cor.test
, is plotted.
Inverting spec1
and spec2
may give slight different results, see examples.spec
, meanspec
, corspec
,
covspectro
, cor
, cor.test
.data(tico)
# compare the two first notes spectra
a<-spec(tico,f=22050,wl=512,at=0.2,plot=FALSE)
c<-spec(tico,f=22050,wl=512,at=1.1,plot=FALSE)
op<-par(mfrow=c(2,1), mar=c(4.5,4,3,1))
spec(tico,f=22050,at=0.2,col="blue")
par(new=TRUE)
spec(tico,f=22050,at=1.1,col="green")
legend(x=8,y=0.5,c("Note A", "Note C"),lty=1,col=c("blue","green"),bty="o")
par(mar=c(5,4,2,1))
corspec(a,c, ylim=c(-0.25,0.8),xaxs="i",yaxs="i",las=1)
par(op)
# different correlation methods give different results...
op<-par(mfrow=c(3,1))
corspec(a,c,xaxs="i",las=1, ylim=c(-0.25,0.8))
title("spearmann correlation (by default)")
corspec(a,c,xaxs="i",las=1,ylim=c(0,1),method="pearson")
title("pearson correlation")
corspec(a,c,xaxs="i",las=1,ylim=c(-0.23,0.5),method="kendall")
title("kendall correlation")
par(op)
# inverting x and y does not give exactly similar results
op<-par(mfrow=c(2,1),mar=c(2,4,3,1))
corspec(a,c)
corspec(c,a)
par(op)
Run the code above in your browser using DataLab