l.handke at tu-braunschweig.de
2017-Oct-12 13:18 UTC
[R] Recurrence plots in R using different colours
Hello,
I am an absolutely beginner with regards to R, so forgive me for my
potentially very stupid questions.
I have been attempting to create recurrence plots using R. The data I am
using is based on a mutually exclusive and exhaustive coding scheme with
over 40 individual codes which can be assigned to 6 higher order categories.
When I carry out the usual rqa command, my plot is pretty much black - no
surprises there really considering the exhaustive nature of my coding scheme
and the fact that there are only 6 different categories.
What i would like to do is colour-code my categories in order to arrive at a
plot that shows the colour of the reccurence of the specific category.
Eventually that would mean a plot with six different colours (next to white,
which means no recurrence), rather than the plain black and white plot which
does not reflect the nature of the recurrence. I hope that my explanation is
clear enough.
My procedure up until now has been:
1) perform a recurrence quantification analysis:
testplot <- rqa(time.series = test$Code, embedding.dim = 1, time.lag = 1,
radius = 0.1,lmin =2, vmin =2, distanceToBorder = 2, save.RM
= TRUE, do.plot = TRUE)
This plot is based on a TRUE FALSE sparse matrix.
2) Accordingly the next step was to transform this TRUE FALSE matrix to one
that contains the values for the codes for TRUE and 0 for false:
RP1 <- testplot$recurrence.matrix
RP2 <- as.matrix(RP1)*1
TS <- test$Code
for (i in seq(1,dim(RP2)[1])) {
for (j in seq(1,dim(RP2)[1])) {
if (RP2[i,j] == 1) {
RP2[i,j] <- TS[i]
}
}
}
This results in a matrix of this type:
1 0 3 1
0 4 0 0
1 0 5 6
Now I am missing step 3 --> how can plot this matrix by previously assigning
different colours to the numbers?
Thank you in advance for your help!
Best, Lisa
--
M.Sc. Lisa Handke
Technische Universit?t Braunschweig
Institut f?r Psychologie
Lehrstuhl f?r Arbeits-, Organisations- und Sozialpsychologie
Spielmannstrasse 19, Raum 103
D-38106 Braunschweig
Phone: +49 (0)531-391-2539
Fax: +49 (0)531-391-8173
Mail: <mailto:l.handke at tu-braunschweig.de> l.handke at
tu-braunschweig.de
<http://www.tu-braunschweig.de/psychologie/abt/aos>
www.tu-braunschweig.de/psychologie/abt/aos
[[alternative HTML version deleted]]
Hi Lisa, I'm not sure exactly what sort of plot you want, but this may help: rcol<-matrix(c(1,0,3,1,0,4,0,0,1,0,5,6),ncol=4,byrow=TRUE) # replace zeros with NAs as there is no numeric color for zero rcol[rcol==0]<-NA library(plotrix) color2D.matplot(rcol,cellcolors=rcol,yat=1:3) Jim On Fri, Oct 13, 2017 at 12:18 AM, <l.handke at tu-braunschweig.de> wrote:> Hello, > > I am an absolutely beginner with regards to R, so forgive me for my > potentially very stupid questions. > > I have been attempting to create recurrence plots using R. The data I am > using is based on a mutually exclusive and exhaustive coding scheme with > over 40 individual codes which can be assigned to 6 higher order categories. > When I carry out the usual rqa command, my plot is pretty much black - no > surprises there really considering the exhaustive nature of my coding scheme > and the fact that there are only 6 different categories. > > What i would like to do is colour-code my categories in order to arrive at a > plot that shows the colour of the reccurence of the specific category. > Eventually that would mean a plot with six different colours (next to white, > which means no recurrence), rather than the plain black and white plot which > does not reflect the nature of the recurrence. I hope that my explanation is > clear enough. > > My procedure up until now has been: > > 1) perform a recurrence quantification analysis: > > testplot <- rqa(time.series = test$Code, embedding.dim = 1, time.lag = 1, > > radius = 0.1,lmin =2, vmin =2, distanceToBorder = 2, save.RM > = TRUE, do.plot = TRUE) > > > > This plot is based on a TRUE FALSE sparse matrix. > > 2) Accordingly the next step was to transform this TRUE FALSE matrix to one > that contains the values for the codes for TRUE and 0 for false: > > RP1 <- testplot$recurrence.matrix > RP2 <- as.matrix(RP1)*1 > TS <- test$Code > > for (i in seq(1,dim(RP2)[1])) { > for (j in seq(1,dim(RP2)[1])) { > if (RP2[i,j] == 1) { > RP2[i,j] <- TS[i] > } > } > } > > This results in a matrix of this type: > > 1 0 3 1 > 0 4 0 0 > 1 0 5 6 > > > > Now I am missing step 3 --> how can plot this matrix by previously assigning > different colours to the numbers? > > Thank you in advance for your help! > > Best, Lisa > > > > > > -- > > M.Sc. Lisa Handke > > Technische Universit?t Braunschweig > > Institut f?r Psychologie > > Lehrstuhl f?r Arbeits-, Organisations- und Sozialpsychologie > > Spielmannstrasse 19, Raum 103 > > D-38106 Braunschweig > > > > Phone: +49 (0)531-391-2539 > > Fax: +49 (0)531-391-8173 > > Mail: <mailto:l.handke at tu-braunschweig.de> l.handke at tu-braunschweig.de > > <http://www.tu-braunschweig.de/psychologie/abt/aos> > www.tu-braunschweig.de/psychologie/abt/aos > > > > > [[alternative HTML version deleted]] > > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.