Basic factor analysis in R

February 17, 2006

(This article was first published on Dataninja » R, and kindly contributed to R-bloggers)

The call to perform factor analysis on a set of variables in R is:

fact1<- factanal(x,factors,scores=c(“regression”),rotation=”varimax”)

where “x” is a dataframe containing the appropriate variables, and “factors” is the number of factors to be extracted.

socres=”…” and rotation=”…” are optional, and varimax is the default rotation.

The factanal function doesn’t seem to handle missing observations well, so it’s easier to create a new dataframe based on your original, with the missing values omitted:


To view the summary of the factor analysis, simply type the name of the object under which the analysis was saved.


To view the scores, use


To view a scree plot, install the “psy” package load it


Then type


The above commands and options are only the very basics. For more information, view the documentation for the factanal function. For more information about factor analysis in general, here is a nice nontechnical introduction.

To leave a comment for the author, please follow the link and comment on their blog: Dataninja » R. offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags: ,

Comments are closed.