[R] help with a special variant of balloonplot

Peter Ehlers ehlers at ucalgary.ca
Sun Aug 26 01:13:25 CEST 2012


On 2012-08-24 09:12, ravi wrote:
> Hi,
> I am interested in implementing a special variant of
> balloonplot.  Let me
> explain with an example dataset from the reference manual :
>
> library(gplots)
> data(Titanic)
> dframe<-as.data.frame(Titanic)
> survived<-dframe[dframe$Survived=="Yes",]
> attach(survived)
> balloonplot(x=Class,y=list(Age,Sex),z=Freq,sort=TRUE,show.zeros=TRUE,cum.margins=FALSE,
>              main="BalloonPlot : Surviving passengers") # standard plot
> # Now comes the attempt at something more special
> FreqThresh=50 # A threshold level
> Freqdev<-Freq-FreqThresh # A new variable
> colors=ifelse(Freqdev>0,"green","magenta")
> balloonplot(x=Class,y=list(Age,Sex),z=Freqdev,sort=TRUE,show.zeros=TRUE,cum.margins=FALSE,dotcol=colors,
> show.margins=FALSE,main="BalloonPlot : Surviving passengers")
>
> I am interested in a table with the
> values unchanged from the titanic dataframe. These values should be highlighted
> in balloons in two different colours, let’s say, green and magenta. For
> positive values of Freqdev, the balloons will be green and have a size
> depending on the magnitude of Freqdev. For negative values of Freqdev, the balloons
> will have a colour of magenta and have a size proportional to the absolute
> values of Freqdev.
> I am not sure if a simple tweak can lead to a solution.

I see that you have by now received help on how to access the
source code for balloonplot.default. Here's the change you
probably have in mind for the above:

In balloonplot.default(), find the following two lines (they're
in a function myscale() defined within balloonplot):

         X[X<0] <- 0
         X <- sqrt(X)

Comment out these lines and replace them with

         X <- sqrt(abs(X))

Save the resulting function as myballoonplot and use that in
your code.

While you're at it, you might remove the attach(survived)
statement and use

   with(survived, myballoonplot(....))

Peter Ehlers

>
> I will appreciate any help that I can get.
> Thanks,
> Ravi
>
> 	[[alternative HTML version deleted]]
>




More information about the R-help mailing list