An alternative to Exploratory Factor Analysis (EFA) for metrical data in R. Drawing on characteristics of classical test theory, Exploratory Likert Scaling (ELiS) supports the user exploring multiple one-dimensional data structures. In common research practice, however, EFA remains as go-to method to uncover the (underlying) structure of a data set. Orthogonal dimensions and the potential of overextraction are often accepted as side effects. ELiS confronts these problems. As a result, elisr provides the platform to fully exploit the exploratory potential of the multiple scaling approach itself.
disjoint()
& overlap()
elisr
comes with two user functions: disjoint()
and overlap()
.
disjoint()
searches highly consistent scale fragments in the haystack of
variables.overlap()
enhances disjoint()
's fragments -- selecting items so that they
can overlap across fragments.With a typical case in mind, the practical difference between them is:
disjoint()
is set up to produce sharp and disjoint scale fragments. Sharp and
disjoint fragments feature a high internal consistency. Thus, items within such
a fragment share a strong linear relationship with each another. The thing with
disjoint()
is, it allocates any item to a particular fragment. This is
whereoverlap()
steps in. Passing fragments to overlap()
, the function's
underlying algorithm tries to enrich each fragment. The emerging scales are
flavored with items from your specified data frame, but the algorithm ignores
those that are already built into a fragment (step 1). Later on, we will talk
about the inclusion criterion in greater detail. To get to the point: Using
overlap()
an item can appear in more than one of the enriched fragments. In
doing so, we overcome the splitting effect induced by disjoint()
. These basic
principles will unfold one step at a time in the companion.
Note: The last section is part of
elisr
's vignette. If you are interested, you can read on there.
There are multiple ways to get elisr
. I'll show you three, sorted by different
levels of R expertise (pro, skilled and novice). If you don't understand a given
installation instruction -- move on to the next.
If you are an advanced R user simply download elisr
from github (e.g., with
devtools
).
I stick with devtools
and install_github()
to install elisr
, but feel free
to use whatever you like.
devtools::install_github(sbissantz/elisr)
To install the development version, copy and paste the following snippet into
your R console. You will be guided through the installation process. What the
snippet does, is (1) to check if the R package devtools
is available on your
system and if not (2) asks if you want to install it. If so, (3) it installs
elisr
via devtools
' function install_github()
. After the installation you
need to load and attach elisr
. Simply type library(elisr)
and elisr
warmly
welcomes you.
if (!requireNamespace("devtools", quietly = TRUE)) {
msg <- "devtools is not installed, want to install it? Type 'yes' or 'no'."
answer <- readline(prompt = message(msg))
switch(answer,
yes = {
install.packages("devtools")
devtools::install_github("sbissantz/elisr")
},
no = {
stop("devtools is required to proceed the installation of elisr.",
call. = FALSE)
},
stop("Please answer 'yes' or 'no'.")
)
} else {
devtools::install_github("sbissantz/elisr")
}
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.