l1rotation

This R package implements the l1-rotation criterion for factor models from Freyaldenhoven (2025).

https://github.com/kobleary/l1rotation

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

This R package implements the l1-rotation criterion for factor models from Freyaldenhoven (2025).

Basic Info
  • Host: GitHub
  • Owner: kobleary
  • License: other
  • Language: R
  • Default Branch: main
  • Homepage:
  • Size: 15.2 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of SimonFreyaldenhoven/l1rotation
Created about 1 year ago · Last pushed 11 months ago

https://github.com/kobleary/l1rotation/blob/main/



[![CRAN
status](https://www.r-pkg.org/badges/version/l1rotation)](https://CRAN.R-project.org/package=l1rotation)
[![CRAN RStudio mirror
downloads](https://cranlogs.r-pkg.org/badges/grand-total/l1rotation)](https://r-pkg.org/pkg/l1rotation)


## Overview

The `l1rotation` package implements the l1-rotation criterion of
[Freyaldenhoven (2025)](https://doi.org/10.21799/frbp.wp.2020.25) to
simplify the loading matrix in factor models.

## Installation

``` r
# Install from CRAN
install.packages("l1rotation")

# Install latest version from GitHub
install.packages("devtools")
devtools::install_github("SimonFreyaldenhoven/l1rotation")
```

## Usage

Find a minimal example below. For more information see the package
[website](https://kobleary.github.io/l1rotation/),
[documentation](https://cran.r-project.org/package=l1rotation/l1rotation.pdf)
and
[vignette](https://cran.r-project.org/package=l1rotation/vignettes/documentation.html).

``` r
library(l1rotation)
set.seed(916) 

# Minimal example with 2 factors, where X is a 224 by 207 matrix
lf <- local_factors(X = example_data, r = 2)

# Rerun with parallel processing
lf_lambdas <- local_factors(X = example_data, r = 2, parallel = TRUE, n_cores = 10)

# Visualize Principal Component estimate of the loadings
lf$pc_plot
```

![](man/figures/README-example-1.png)

``` r

# Visualize l1-rotation loadings
lf$rotated_plot
```

![](man/figures/README-example-2.png)

## Citation

Simon Freyaldenhoven. Identification Through Sparsity in Factor Models:
the l1-rotation criterion. [Philadelphia Fed Working Paper
20-25](https://doi.org/10.21799/frbp.wp.2020.25), June 2025.

Simon Freyaldenhoven, Ryan Kobler. `l1rotation` package. Code and data
repository at , March
2025.

Owner

  • Login: kobleary
  • Kind: user
  • Company: Reed College

GitHub Events

Total
  • Delete event: 2
  • Issue comment event: 1
  • Member event: 1
  • Push event: 23
  • Pull request review comment event: 2
  • Pull request review event: 1
  • Pull request event: 4
  • Create event: 2
Last Year
  • Delete event: 2
  • Issue comment event: 1
  • Member event: 1
  • Push event: 23
  • Pull request review comment event: 2
  • Pull request review event: 1
  • Pull request event: 4
  • Create event: 2

Packages

  • Total packages: 1
  • Total downloads:
    • cran 461 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
cran.r-project.org: l1rotation

Identify Loading Vectors under Sparsity in Factor Models

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 461 Last month
Rankings
Dependent packages count: 26.5%
Dependent repos count: 32.6%
Average: 48.6%
Downloads: 86.7%
Maintainers (1)
Last synced: 10 months ago