tidyLPA
tidyLPA: An R Package to Easily Carry Out Latent Profile Analysis (LPA) Using Open-Source or Commercial Software - Published in JOSS (2018)
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: springer.com, joss.theoj.org -
✓Committers with academic emails
4 of 11 committers (36.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.5%) to scientific vocabulary
Last synced: 6 months ago
·
JSON representation
Repository
Easily carry out Latent Profile Analysis (LPA) using open-source or commercial software
Basic Info
- Host: GitHub
- Owner: data-edu
- License: other
- Language: R
- Default Branch: master
- Homepage: https://data-edu.github.io/tidyLPA/
- Size: 24.8 MB
Statistics
- Stars: 59
- Watchers: 6
- Forks: 16
- Open Issues: 34
- Releases: 6
Created over 8 years ago
· Last pushed about 2 years ago
Metadata Files
Readme
Changelog
License
Code of conduct
Support
README.Rmd
---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```
[](https://cran.r-project.org/package=tidyLPA)
[](https://cran.r-project.org/package=tidyLPA)
[](https://lifecycle.r-lib.org/articles/stages.html)
[](https://doi.org/10.21105/joss.00978)
[](https://github.com/data-edu/tidyLPA/actions/workflows/R-CMD-check.yaml)
[](https://github.com/data-edu/tidyLPA/actions/workflows/test-coverage.yaml)
## Background
Latent Profile Analysis (LPA) is a statistical modeling approach for estimating distinct profiles, or groups, of variables. In the social sciences and in educational research, these profiles could represent, for example, how different youth experience dimensions of being engaged (i.e., cognitively, behaviorally, and affectively) at the same time.
tidyLPA provides the functionality to carry out LPA in R. In particular, tidyLPA provides functionality to specify different models that determine whether and how different parameters (i.e., means, variances, and covariances) are estimated and to specify (and compare solutions for) the number of profiles to estimate. The package is designed and documented to be easy to use, especially for beginners to LPA, but with fine-grained options available for estimating models and evaluating specific output as part of more complex analyses.
## Installation
You can install tidyLPA from CRAN with:
```{r, eval = F}
install.packages("tidyLPA")
```
You can also install the development version of tidyLPA from GitHub with:
```{r gh-installation, eval = FALSE}
install.packages("devtools")
devtools::install_github("data-edu/tidyLPA")
```
## Examples
### Mclust
Here is a brief example using the built-in `pisaUSA15` data set and variables for broad interest, enjoyment, and self-efficacy. Note that we first type the name of the data frame, followed by the unquoted names of the variables used to create the profiles. We also specify the number of profiles and the model. See `?estimate_profiles` for more details.
In these examples, we pass the results of one function to the next by *piping* (using the `%>%` operator, loaded from the `dplyr` package). We pass the data to a function that selects relevant variables, and then to `estimate_profiles`:
```{r, message = F}
library(tidyLPA)
library(dplyr)
```
```{r}
pisaUSA15[1:100, ] %>%
select(broad_interest, enjoyment, self_efficacy) %>%
single_imputation() %>%
estimate_profiles(3)
```
A simple summary of the analysis is printed to the console (and its posterior probability).
The resulting object can be further passed down a pipeline to other functions, such as:
- `plot_profiles()`
- `compare_solutions()`
- `get_data()`
- `get_fit()`
This is the "tidy" part, in that the function can be embedded in a tidy analysis pipeline.
### Mplus
We can use MPlus simply by changing the package argument for `estimate_profiles()` to `"MplusAutomation"` (please note that _MPlus must be installed on your computer for this functionality to work_):
```{r, eval = FALSE}
pisaUSA15[1:100, ] %>%
select(broad_interest, enjoyment, self_efficacy) %>%
single_imputation() %>%
estimate_profiles(3, package = "MplusAutomation")
```
# Learning More
To learn more, we highly recommend the following:
* Browse the tidyLPA [website](https://data-edu.github.io/tidyLPA/) (especially check out the Reference page to see more about other functions)
* *Read the Introduction to tidyLPA* [vignette](https://data-edu.github.io/tidyLPA/articles/Introduction_to_tidyLPA.html), which has much more information on the models that can be specified with tidyLPA and on additional functionality
## Citing tidyLPA
> Rosenberg, J. M., Beymer, P. N., Anderson, D. J., Van Lissa, C. J., & Schmidt, J. A. (2018). tidyLPA: An R Package to Easily Carry Out Latent Profile Analysis (LPA) Using Open-Source or Commercial Software. *Journal of Open Source Software, 3*(30), 978, https://doi.org/10.21105/joss.00978
## Contributing and Contact Information
One of the easiest but also most important ways to contribute is to post a question or to provide feedback. Both positive *and* negative feedback is welcome and helpful. You can get in touch by:
* Sending a message via [tidylpa@googlegroups.com](mailto:tidylpa@googlegroups.com) or view the [the tidyLPA group page](https://groups.google.com/forum/#!forum/tidylpa)
* Filing an issue on GitHub [here](https://github.com/data-edu/tidyLPA)
Contributions are also welcome via by making pull requests (PR), e.g. through [this page on GitHub](https://github.com/data-edu/tidyLPA/pulls).
It may be easier if you first file an issue outlining what you will do in the PR. You can also reach out via the methods described above.
## Contributor Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](https://link.springer.com/article/10.1007/s41686-019-00030-5). By participating in this project you agree to abide by its terms.
## Acknowledgments
This material is based upon work supported by the National Science Foundation under *Grant No.: DRL#1661064*. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not reflect the views of the National Science Foundation.
Owner
- Name: DataEDU
- Login: data-edu
- Kind: organization
- Repositories: 2
- Profile: https://github.com/data-edu
GitHub Events
Total
- Issues event: 3
- Watch event: 3
- Issue comment event: 2
- Fork event: 1
Last Year
- Issues event: 3
- Watch event: 3
- Issue comment event: 2
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Joshua Rosenberg | j****n@m****u | 434 |
| Joshua Rosenberg | j****g@g****m | 107 |
| cjvanlissa | c****a@u****l | 92 |
| Joshua Rosenberg | j****8@g****m | 53 |
| Daniel Anderson | d****a@u****u | 11 |
| gbiele | g****e@g****m | 10 |
| Joshua Rosenberg | j****g@u****u | 6 |
| Gootjes | 3****s | 2 |
| jmichaelrosenberg@gmail.com | j****8@M****l | 2 |
| Rosenberg | j****8@c****u | 2 |
| Caspar van Lissa | v****a@f****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 73
- Total pull requests: 34
- Average time to close issues: about 2 months
- Average time to close pull requests: 8 days
- Total issue authors: 43
- Total pull request authors: 3
- Average comments per issue: 2.48
- Average comments per pull request: 1.88
- Merged pull requests: 30
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: about 18 hours
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jrosen48 (17)
- cjvanlissa (10)
- ebmtnprof (3)
- teindor (2)
- ellaaguinaldo (2)
- jnese (2)
- Teebusch (1)
- benjaminwnelson (1)
- a-rosenberg (1)
- nzpsych (1)
- namalea (1)
- AnselmJeong (1)
- Christian-T (1)
- tchau30 (1)
- Daniel28052 (1)
Pull Request Authors
- cjvanlissa (20)
- jrosen48 (12)
- Gootjes (2)
Top Labels
Issue Labels
enhancement (3)
bug (2)
invalid (1)
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 3,080 last-month
- Total docker downloads: 42,041
- Total dependent packages: 1
- Total dependent repositories: 3
- Total versions: 17
- Total maintainers: 1
cran.r-project.org: tidyLPA
Easily Carry Out Latent Profile Analysis (LPA) Using Open-Source or Commercial Software
- Homepage: https://data-edu.github.io/tidyLPA/
- Documentation: http://cran.r-project.org/web/packages/tidyLPA/tidyLPA.pdf
- License: MIT + file LICENSE
-
Latest release: 1.1.0
published over 4 years ago
Rankings
Docker downloads count: 0.6%
Forks count: 5.5%
Stargazers count: 6.5%
Downloads: 9.1%
Average: 9.4%
Dependent repos count: 16.5%
Dependent packages count: 18.1%
Maintainers (1)
Last synced:
6 months ago
Dependencies
DESCRIPTION
cran
- OpenMx * depends
- R >= 2.10 depends
- lavaan * depends
- tidySEM >= 0.2.0 depends
- MplusAutomation * imports
- dplyr * imports
- ggplot2 * imports
- grid * imports
- gtable * imports
- mclust * imports
- methods * imports
- mix * imports
- tibble * imports
- knitr * suggests
- lme4 * suggests
- missForest * suggests
- parallel * suggests
- pillar * suggests
- rmarkdown * suggests
- testthat * suggests
.github/workflows/check-standard.yaml
actions
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/upload-artifact main composite
- r-lib/actions/setup-pandoc v1 composite
- r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml
actions
- actions/cache v2 composite
- actions/checkout v2 composite
- r-lib/actions/setup-pandoc v1 composite
- r-lib/actions/setup-r v1 composite
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite