[R] clusterCrit package produces Nan
I'm trying to compute the Silhouette value of a clustering partition done with SOM method using the function intCriteria of the clusterCrit package but it returns me a Nan value: somebody knows why? To simplify my case, here there is an example: test [,1] [,2] [,3] [,4] [,5] [,6] [1,] 37.28577 8.902218 17.93830 38.80381 6.825286 18.44061 [2,] 37.25598 8.693962 18.09256 38.81784 7.005092 18.17899 [3,] 37.54612 8.262074 18.07639 38.87837 6.592799 18.31604 [4,] 37.56661 8.651182 17.98653 38.76980 6.596529 18.46937 [5,] 37.59454 8.546921 17.93558 39.00177 6.508707 18.40102 [6,] 37.62195 8.422909 18.03132 38.86634 7.024104 18.30201 [7,] 37.19365 8.662608 18.01295 38.37456 7.173594 18.24273 [8,] 37.63161 8.495688 18.05909 38.92736 6.884675 18.44871 [9,] 37.30077 8.488438 18.02636 38.60844 7.004214 18.45600 [10,] 37.52518 8.610817 18.00498 38.57547 6.877532 18.36552 datissimi = som(test, grid=somgrid(xdim=2, ydim=4, topo='rectangular'), rlen=500, keep.data=T) somissimo = datissimi$unit.classif intCriteria(test, somissimo, Silhouette) $silhouette [1] NaN Thanks, Paola __ R-help@r-project.org mailing list 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.
Re: [R] Change color in forest.rma (metafor)
Thank you so much!!! Could you tell me also how to change the size of the chart? There is not enough space below the chart to add the arrows! 2011/8/28 Uwe Ligges-3 [via R] ml-node+3774557-1567708350-262...@n4.nabble.com On 26.08.2011 15:50, Paola Tellaroli wrote: I lied, that was not my last question: how can I add two arrows at the bottom with the words in favor of A / B? This is not specified in the pdf and with text I have the impression that I can't add text below the x-axis. You can, see ?par and its xpd argument. Uwe Ligges 2011/8/26 Paola Tellaroli[hidden email]http://user/SendEmail.jtp?type=nodenode=3774557i=0 Dear Prof. Viechtbauer, thank you so much for your help and kindness. Clearly graphs are the minor problem in our work, and the parameters and options that can vary in R are so many that it is obvious that you can not expect to change everything you want! Your suggestions are very helpuf, but I have one last question. I'm trying to copy the style of a forest plot that I've seen and I like (the one in the attached file, page 1034): can I do this in R? Best wishes, *Paola* 2011/8/25 Viechtbauer Wolfgang (STAT)-2 [via R] [hidden email] http://user/SendEmail.jtp?type=nodenode=3774557i=1 The color of the squares is also currently hard coded. The thing is, there are so many different elements to a forest plot (squares, lines, polygons, text, axes, axis labels, etc.), if I would add arguments to set the color of each element, things would really get out of hand (as far as I am concerned, there are already too many arguments to begin with). I can think of one possibility: I could allow the col argument to accept a vector of colors and then apply the different elements of that vector to the various elements in the plot. Of course, there is also a limit to how far that can be taken. For example, what if somebody wants to have a different color for *one* of the squares and a different color for the other squares? Another possibility is to do some post-processing with other software. One can create the forest plot in R, save it for example as a postscript file, and the edit the plot in other software. Yes, I prefer it if I can create the plot in R and have it exactly the way I want it (without having to do any post-processing), but sometimes that may not be possible. Note that you can always add whatever you want to a plot created by the forest() function after it has been drawn. You can add text, lines, squares, polygons, whatever in any color you desire (e.g., with the text(), segments(), points(), polygon() functions). So, you could also just plot over the squares with: points(yi, 4:1, pch=15, col=red) To get rid of the black squares that are drawn by the forest function, add psize=0 as an argument in forest() (this will make the size of squares equal to 0, so essentially, they are invisible). If you want to make the size of the points inversely proportional to some function of the precision of the estimates, use points() together with the cex argument. For example: wi- 1/sqrt(vi) psize- wi/sum(wi) psize- (psize - min(psize)) / (max(psize) - min(psize)) psize- (psize * 1.0) + 0.5 points(yi, 4:1, pch=15, col=red, cex=psize) Best, Wolfgang -Original Message- From: Paola Tellaroli [mailto:[hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=0] Sent: Thursday, August 25, 2011 10:57 To: Viechtbauer Wolfgang (STAT) Cc: [hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=1; Bernd Weiss Subject: Re: [R] Change color in forest.rma (metafor) Thank you for your attention and help! In this way I get the diamond coloured, but actually I would have the squares representing the values of the individual studies coloured. Is it somehow possible? Paola 2011/8/24 Viechtbauer Wolfgang (STAT) [hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=2 Thank you, Bernd, for looking into this. Yes, at the moment, the color of the summary estimate for models without moderators is hard-coded (as black). I didn't think people may want to change that. I guess I was wrong =) A dirty solution for the moment is to add: addpoly(dfs, efac=6, row=-1, col=red, border=red, annotate=F, mlab=) after the call to forest(). You will get a warning message (since the border argument gets passed to the text() function inside addpoly() and that's not a par for text), but you can just ignore that. Best, -- Wolfgang Viechtbauer Department of Psychiatry and Neuropsychology School for Mental Health and Neuroscience Maastricht University, P.O. Box 616 6200 MD Maastricht, The Netherlands Tel: +31 (43) 368-5248 Fax: +31 (43) 368-8689 Web: http://www.wvbauer.com -Original Message- From: Bernd Weiss [mailto
Re: [R] Change color in forest.rma (metafor)
Dear Prof. Viechtbauer, thank you so much for your help and kindness. Clearly graphs are the minor problem in our work, and the parameters and options that can vary in R are so many that it is obvious that you can not expect to change everything you want! Your suggestions are very helpuf, but I have one last question. I'm trying to copy the style of a forest plot that I've seen and I like (the one in the attached file, page 1034): can I do this in R? Best wishes, *Paola* 2011/8/25 Viechtbauer Wolfgang (STAT)-2 [via R] ml-node+3768683-1225159815-262...@n4.nabble.com The color of the squares is also currently hard coded. The thing is, there are so many different elements to a forest plot (squares, lines, polygons, text, axes, axis labels, etc.), if I would add arguments to set the color of each element, things would really get out of hand (as far as I am concerned, there are already too many arguments to begin with). I can think of one possibility: I could allow the col argument to accept a vector of colors and then apply the different elements of that vector to the various elements in the plot. Of course, there is also a limit to how far that can be taken. For example, what if somebody wants to have a different color for *one* of the squares and a different color for the other squares? Another possibility is to do some post-processing with other software. One can create the forest plot in R, save it for example as a postscript file, and the edit the plot in other software. Yes, I prefer it if I can create the plot in R and have it exactly the way I want it (without having to do any post-processing), but sometimes that may not be possible. Note that you can always add whatever you want to a plot created by the forest() function after it has been drawn. You can add text, lines, squares, polygons, whatever in any color you desire (e.g., with the text(), segments(), points(), polygon() functions). So, you could also just plot over the squares with: points(yi, 4:1, pch=15, col=red) To get rid of the black squares that are drawn by the forest function, add psize=0 as an argument in forest() (this will make the size of squares equal to 0, so essentially, they are invisible). If you want to make the size of the points inversely proportional to some function of the precision of the estimates, use points() together with the cex argument. For example: wi - 1/sqrt(vi) psize - wi/sum(wi) psize - (psize - min(psize)) / (max(psize) - min(psize)) psize - (psize * 1.0) + 0.5 points(yi, 4:1, pch=15, col=red, cex=psize) Best, Wolfgang -Original Message- From: Paola Tellaroli [mailto:[hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=0] Sent: Thursday, August 25, 2011 10:57 To: Viechtbauer Wolfgang (STAT) Cc: [hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=1; Bernd Weiss Subject: Re: [R] Change color in forest.rma (metafor) Thank you for your attention and help! In this way I get the diamond coloured, but actually I would have the squares representing the values of the individual studies coloured. Is it somehow possible? Paola 2011/8/24 Viechtbauer Wolfgang (STAT) [hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=2 Thank you, Bernd, for looking into this. Yes, at the moment, the color of the summary estimate for models without moderators is hard-coded (as black). I didn't think people may want to change that. I guess I was wrong =) A dirty solution for the moment is to add: addpoly(dfs, efac=6, row=-1, col=red, border=red, annotate=F, mlab=) after the call to forest(). You will get a warning message (since the border argument gets passed to the text() function inside addpoly() and that's not a par for text), but you can just ignore that. Best, -- Wolfgang Viechtbauer Department of Psychiatry and Neuropsychology School for Mental Health and Neuroscience Maastricht University, P.O. Box 616 6200 MD Maastricht, The Netherlands Tel: +31 (43) 368-5248 Fax: +31 (43) 368-8689 Web: http://www.wvbauer.com -Original Message- From: Bernd Weiss [mailto:[hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=3] Sent: Wednesday, August 24, 2011 16:22 To: Paola Tellaroli Cc: [hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=4; [hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=5 Subject: Re: [R] Change color in forest.rma (metafor) Am 24.08.2011 07:50, schrieb Paola Tellaroli: My script is the following: library(metafor) yi-c(-0.1, 0.2, 0.3, 0.4) sei-c(0.4, 0.2, 0.6, 0.1) vi-sei^2 studi-c(A, B, C, D) eventi.c-c(10, 5, 7, 6) n.c-c(11, 34, 25, 20) eventi.a-c(2, 7, 6, 5) n.a-c(11, 35, 25, 15) dfs-rma(yi, vi, method=DL) dfs windows(height=6, width=10, pointsize=10) windowsFonts(B=windowsFont(Bookman Old Style
Re: [R] Change color in forest.rma (metafor)
I lied, that was not my last question: how can I add two arrows at the bottom with the words in favor of A / B? This is not specified in the pdf and with text I have the impression that I can't add text below the x-axis. 2011/8/26 Paola Tellaroli paola.tellar...@gmail.com Dear Prof. Viechtbauer, thank you so much for your help and kindness. Clearly graphs are the minor problem in our work, and the parameters and options that can vary in R are so many that it is obvious that you can not expect to change everything you want! Your suggestions are very helpuf, but I have one last question. I'm trying to copy the style of a forest plot that I've seen and I like (the one in the attached file, page 1034): can I do this in R? Best wishes, *Paola* 2011/8/25 Viechtbauer Wolfgang (STAT)-2 [via R] ml-node+3768683-1225159815-262...@n4.nabble.com The color of the squares is also currently hard coded. The thing is, there are so many different elements to a forest plot (squares, lines, polygons, text, axes, axis labels, etc.), if I would add arguments to set the color of each element, things would really get out of hand (as far as I am concerned, there are already too many arguments to begin with). I can think of one possibility: I could allow the col argument to accept a vector of colors and then apply the different elements of that vector to the various elements in the plot. Of course, there is also a limit to how far that can be taken. For example, what if somebody wants to have a different color for *one* of the squares and a different color for the other squares? Another possibility is to do some post-processing with other software. One can create the forest plot in R, save it for example as a postscript file, and the edit the plot in other software. Yes, I prefer it if I can create the plot in R and have it exactly the way I want it (without having to do any post-processing), but sometimes that may not be possible. Note that you can always add whatever you want to a plot created by the forest() function after it has been drawn. You can add text, lines, squares, polygons, whatever in any color you desire (e.g., with the text(), segments(), points(), polygon() functions). So, you could also just plot over the squares with: points(yi, 4:1, pch=15, col=red) To get rid of the black squares that are drawn by the forest function, add psize=0 as an argument in forest() (this will make the size of squares equal to 0, so essentially, they are invisible). If you want to make the size of the points inversely proportional to some function of the precision of the estimates, use points() together with the cex argument. For example: wi - 1/sqrt(vi) psize - wi/sum(wi) psize - (psize - min(psize)) / (max(psize) - min(psize)) psize - (psize * 1.0) + 0.5 points(yi, 4:1, pch=15, col=red, cex=psize) Best, Wolfgang -Original Message- From: Paola Tellaroli [mailto:[hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=0] Sent: Thursday, August 25, 2011 10:57 To: Viechtbauer Wolfgang (STAT) Cc: [hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=1; Bernd Weiss Subject: Re: [R] Change color in forest.rma (metafor) Thank you for your attention and help! In this way I get the diamond coloured, but actually I would have the squares representing the values of the individual studies coloured. Is it somehow possible? Paola 2011/8/24 Viechtbauer Wolfgang (STAT) [hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=2 Thank you, Bernd, for looking into this. Yes, at the moment, the color of the summary estimate for models without moderators is hard-coded (as black). I didn't think people may want to change that. I guess I was wrong =) A dirty solution for the moment is to add: addpoly(dfs, efac=6, row=-1, col=red, border=red, annotate=F, mlab=) after the call to forest(). You will get a warning message (since the border argument gets passed to the text() function inside addpoly() and that's not a par for text), but you can just ignore that. Best, -- Wolfgang Viechtbauer Department of Psychiatry and Neuropsychology School for Mental Health and Neuroscience Maastricht University, P.O. Box 616 6200 MD Maastricht, The Netherlands Tel: +31 (43) 368-5248 Fax: +31 (43) 368-8689 Web: http://www.wvbauer.com -Original Message- From: Bernd Weiss [mailto:[hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=3] Sent: Wednesday, August 24, 2011 16:22 To: Paola Tellaroli Cc: [hidden email]http://user/SendEmail.jtp?type=nodenode=3768683i=4; [hidden email] http://user/SendEmail.jtp?type=nodenode=3768683i=5 Subject: Re: [R] Change color in forest.rma (metafor) Am 24.08.2011 07:50, schrieb Paola Tellaroli: My script is the following: library(metafor) yi-c(-0.1, 0.2, 0.3, 0.4) sei-c(0.4, 0.2, 0.6
Re: [R] Change color in forest.rma (metafor)
Thank you for your attention and help! In this way I get the diamond coloured, but actually I would have the squares representing the values of the individual studies coloured. Is it somehow possible? *Paola* 2011/8/24 Viechtbauer Wolfgang (STAT) wolfgang.viechtba...@maastrichtuniversity.nl Thank you, Bernd, for looking into this. Yes, at the moment, the color of the summary estimate for models without moderators is hard-coded (as black). I didn't think people may want to change that. I guess I was wrong =) A dirty solution for the moment is to add: addpoly(dfs, efac=6, row=-1, col=red, border=red, annotate=F, mlab=) after the call to forest(). You will get a warning message (since the border argument gets passed to the text() function inside addpoly() and that's not a par for text), but you can just ignore that. Best, -- Wolfgang Viechtbauer Department of Psychiatry and Neuropsychology School for Mental Health and Neuroscience Maastricht University, P.O. Box 616 6200 MD Maastricht, The Netherlands Tel: +31 (43) 368-5248 Fax: +31 (43) 368-8689 Web: http://www.wvbauer.com -Original Message- From: Bernd Weiss [mailto:bernd.we...@uni-koeln.de] Sent: Wednesday, August 24, 2011 16:22 To: Paola Tellaroli Cc: w...@metafor-project.org; r-help@r-project.org Subject: Re: [R] Change color in forest.rma (metafor) Am 24.08.2011 07:50, schrieb Paola Tellaroli: My script is the following: library(metafor) yi-c(-0.1, 0.2, 0.3, 0.4) sei-c(0.4, 0.2, 0.6, 0.1) vi-sei^2 studi-c(A, B, C, D) eventi.c-c(10, 5, 7, 6) n.c-c(11, 34, 25, 20) eventi.a-c(2, 7, 6, 5) n.a-c(11, 35, 25, 15) dfs-rma(yi, vi, method=DL) dfs windows(height=6, width=10, pointsize=10) windowsFonts(B=windowsFont(Bookman Old Style)) forest.rma(dfs, slab=studi, xlim=c(-15, 10), ilab=cbind(eventi.c, n.c, eventi.a, n.a), ilab.xpos=c(-9.5, -8, -6, -4.5), cex=1.2, at=c(-2, -1, 0, 1, 2), family=B, xlab=Hazard Ratio (log scale), mlab=Random Effects Model, efac=5, col=red, border=red) text(-10, -1.3, paste(Heterogeneity: I-squared=, paste(paste(round(dfs$I2, 2), %, sep=), paste(p, round(dfs$QEp, 4), sep==), sep=, ), sep=), font=4, cex=1.2, family=B) op-par(cex=1.2, font=2, family=B, oma=c(0.5, 0.5, 0.5, 0.5), mar=c(0.5, 0.5, 0.5, 0.5)) text(x=c(-9.5, -8, -6, -4.5), 6, c(Events, N, Events, N), cex=1.2 ) text(c(-8.7, -5.5, 8), 6.5, c(S, A, Log)) text(-15, 6, Trials, pos=4) text(10, 6, Hazard Ratio [95% CI], pos=2) par(op) Even if I have specified col=red, border=red, color of squares and diamond rests black! Why? As far as I know, col and border do only affect the fitted values (diamonds), i.e. the FEM/REM estimators (see ?forest.rma: col: character string specifying the name of a color to use for _the fitted_ values ('darkgray' by default).) Furthermore, I had a quick look at the source code and it might be a bug. If I replace in line 2770 the line cex * efac), col = black, ...) with cex * efac), col = col, ...) you can at least specify your own colour. Changing the border color seems a bit more tricky... However, Wolfgang Viechbauer (the package author) is always a very responsive and helpful person and I suggest you better wait for his answer. Bernd [[alternative HTML version deleted]] __ R-help@r-project.org mailing list 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.
[R] Change color in forest.rma (metafor)
My script is the following: library(metafor) yi-c(-0.1, 0.2, 0.3, 0.4) sei-c(0.4, 0.2, 0.6, 0.1) vi-sei^2 studi-c(A, B, C, D) eventi.c-c(10, 5, 7, 6) n.c-c(11, 34, 25, 20) eventi.a-c(2, 7, 6, 5) n.a-c(11, 35, 25, 15) dfs-rma(yi, vi, method=DL) dfs windows(height=6, width=10, pointsize=10) windowsFonts(B=windowsFont(Bookman Old Style)) forest.rma(dfs, slab=studi, xlim=c(-15, 10), ilab=cbind(eventi.c, n.c, eventi.a, n.a), ilab.xpos=c(-9.5, -8, -6, -4.5), cex=1.2, at=c(-2, -1, 0, 1, 2), family=B, xlab=Hazard Ratio (log scale), mlab=Random Effects Model, efac=5, col=red, border=red) text(-10, -1.3, paste(Heterogeneity: I-squared=, paste(paste(round(dfs$I2, 2), %, sep=), paste(p, round(dfs$QEp, 4), sep==), sep=, ), sep=), font=4, cex=1.2, family=B) op-par(cex=1.2, font=2, family=B, oma=c(0.5, 0.5, 0.5, 0.5), mar=c(0.5, 0.5, 0.5, 0.5)) text(x=c(-9.5, -8, -6, -4.5), 6, c(Events, N, Events, N), cex=1.2 ) text(c(-8.7, -5.5, 8), 6.5, c(S, A, Log)) text(-15, 6, Trials, pos=4) text(10, 6, Hazard Ratio [95% CI], pos=2) par(op) Even if I have specified col=red, border=red, color of squares and diamond rests black! Why? Thanks, Paola -- View this message in context: http://r.789695.n4.nabble.com/Change-color-in-forest-rma-metafor-tp3765090p3765090.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list 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.