def plotPairwiseCorrelations(self, outfile, subset=False):

        plotGGpairs = R('''
        function(df){

        write.table(df, file="%(outfile)s.tsv", sep="\t")

        colnames(df) <- gsub("-", "_", colnames(df))

        width <- height <-  length(colnames(df)) * 100

        png("%(outfile)s", width=width, height=height, units = "px")

        panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...){
          usr <- par("usr"); on.exit(par(usr))
          par(usr = c(0, 1, 0, 1))
          r <- abs(cor(x, y))
          txt <- format(c(r, 0.123456789), digits = digits)[1]
          txt <- paste0(prefix, txt)
          if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
          text(0.5, 0.5, txt, cex = cex.cor * r * 50)}

        panel.hist = function (x, ...) {
          par(new = TRUE)
          hist(x,
               breaks=30,
               col = "light blue",
               probability = TRUE,
               axes = FALSE,
               main = "")
          rug(x)}

        pairs(df, pch=20, cex=0.1,
              lower.panel = panel.smooth, upper.panel = panel.cor,
              diag.panel=panel.hist)

        dev.off()
        }''' % locals())

        if subset:
            if len(self.table.index) > subset:
                rows = random.sample(self.table.index, subset)
                r_counts = pandas2ri.py2ri(self.table.ix[rows])
            else:
                r_counts = pandas2ri.py2ri(self.table)
        else:
            r_counts = pandas2ri.py2ri(self.table)

        plotGGpairs(r_counts)
Begin parsing the given tokens.
dataset/ETHPy150Open CGATOxford/cgat/CGAT/Counts.py/Counts.plotPairwiseCorrelations--crossover with--dataset/ETHPy150Open nltk/nltk/nltk/parse/chart.py/SteppingChartParser.initialize