The Robust re-scaling transformation (RR) is a transformation the help reveal latent structure in data. It uses three steps to transform the data:
The sequence of these transformations helps focus classic statistical analyses on consequential variance in the data rather than having the analyses be dominated by variation resulting from measurement scale or outliers.
If you have not already read the basic vignette "Rescaling Data" that is recommend first.
Typically, the input to RR is a matrix or data.frame, the output is a matrix or data.frame of the same size, but with re-scaled values. However, in this vignette we will explore how RR scale may also be used for ragged matrices, data frames, or lists.
First let's create some ragged data. We will generate data that cannot be put into a matrix since each of the observations is of different length:
set.seed(12345) N = rpois(10,20) data = lapply(N,rexp) str(data)
We can still pass this to RR and have it transformed
library('rrscale') rr.out = rrscale(data)
notice that the output of rrscale takes the same form as the input data. In this case it is a list of 10 sets of numbers:
str(rr.out$RR)
We can compare the untransformed and the transformed data:
library('ggplot2') library('reshape2') par(mfrow=c(2,1)) df = data.frame(untrans=unlist(data),rr=unlist(rr.out$RR)) df = melt(df,measure.vars = 1:2) ggplot(data=df,mapping=aes(x=value,fill=variable))+geom_histogram()+facet_wrap(~variable)
We can also still use the transformation function to transform data as previously. For example, if we only want to apply the "G"-step, we can call:
g_only = rr.out$rr(data,G=TRUE,Z=FALSE,O=FALSE) str(g_only)
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.