Nothing
#' Scatterplot for row categories correlation with dimensions
#'
#' This function allows to plot a scatterplot of the correlation (sqrt(COS2)) of
#' row categories with two selected dimensions. A diagonal line is a visual aid
#' to eyeball whether a category is actually more correlated (in relative terms)
#' to either of the two dimensions. The row categories' labels are coupled with
#' two + or - symbols within round brackets indicating to which side of the two
#' selected dimensions the correlation values that can be read off from the
#' chart are actually referring. The first symbol (i.e., the one to the left),
#' either + or -, refers to the first of the selected dimensions (i.e., the one
#' reported on the x-axis). The second symbol (i.e., the one to the right)
#' refers to the second of the selected dimensions (i.e., the one reported on
#' the y-axis).
#' @param data Name of the dataset (must be in dataframe format).
#' @param x First dimension for which the correlations are reported (x=1 by
#' default).
#' @param y Second dimension for which the correlations are reported (y=2 by
#' default).
#' @param cex.labls Adjust the size of the categories' labels
#' @keywords rows.corr.scatter
#' @export
#' @examples
#' data(greenacre_data)
#'
#' #Plots the scatterplot of the row categories correlation with dimensions 1&2.
#' rows.corr.scatter(greenacre_data,1,2)
#'
#' @seealso \code{\link{rows.corr}} , \code{\link{cols.corr}} ,
#' \code{\link{cols.corr.scatter}}
#'
rows.corr.scatter <- function (data, x = 1, y = 2, cex.labls=3) {
corr1=corr2=labels.final=NULL
ncols <- ncol(data)
nrows <- nrow(data)
numb.dim.cols <- ncol(data) - 1
numb.dim.rows <- nrow(data) - 1
a <- min(numb.dim.cols, numb.dim.rows)
pnt_labls <- rownames(data)
res <- CA(data, ncp = a, graph = FALSE)
dfr <- data.frame(lab = pnt_labls, corr1 = round(sqrt(res$row$cos2[,x]), digits = 3), corr2 = round(sqrt(res$row$cos2[, y]), digits = 3), coord1=res$row$coord[,x], coord2=res$row$coord[,y])
dfr$labels1 <- ifelse(dfr$coord1 < 0, "-", "+")
dfr$labels2 <- ifelse(dfr$coord2 < 0, "-", "+")
dfr$labels.final <- paste0(dfr$lab, " (",dfr$labels1,",",dfr$labels2, ")")
p <- ggplot(dfr, aes(x = corr1, y = corr2)) + geom_point(alpha = 0.8) +
scale_y_continuous(limits = c(0, 1)) + scale_x_continuous(limits = c(0,1)) +
geom_abline(intercept = 0, slope = 1, colour="#00000088") +
theme(panel.background = element_rect(fill="white", colour="black")) +
geom_text_repel(data = dfr, aes(label = labels.final), size = cex.labls) +
labs(x = paste("Row categories' correlation with Dim.",x), y = paste("Row categories' correlation with Dim.",y)) +
coord_fixed(ratio = 1, xlim = NULL, ylim = NULL, expand = TRUE)
return(p)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.