Are the results the same as R and SPSS?
Research Corner · Run on 1 November 2026 · R version 4.6.1 (2026-06-24 ucrt)
Don't trust me. Check against R.
Yes, as far as we have tested. We ran the calculation code of the Research Corner tools (gocnghiencuu.com) on three public datasets and compared 607 numbers with R: Cronbach's alpha, regression, t-tests, ANOVA and PLS-SEM differed by at most 5.0 × 10⁻¹¹, sample sizes matched exactly, and rotated EFA loadings differed by at most 2.4 × 10⁻⁴. For EFA, the tool also matches published SPSS 27 output on 6 matrices to within 6.4 × 10⁻⁹. We have not run SPSS or SmartPLS on these three datasets (we have no licence), so this page never claims "matches SPSS" or "matches SmartPLS" where no real comparison was made.
Summary: how close are the results to R and SPSS?
Each row is one tool. "Maximum difference" is the largest absolute value of "tool's number − reference software's number" across every number compared (coefficients, standard errors, t and p values, R², loadings, AVE, HTMT and so on). Theses report 2 or 3 decimal places, so a difference below 0.0005 does not change the number you write.
| Tool | Data | Compared with | Numbers compared | Maximum difference |
|---|---|---|---|---|
| Cronbach's alpha | bfi (5 scales), Holzinger-Swineford (3 blocks) | psych::alpha 2.6.9 | 92 | 4.9 × 10⁻¹¹ |
| EFA, KMO, Bartlett | bfi (25 items), Holzinger-Swineford (9 items) | psych 2.6.9, EFAtools 1.1.0 (type = "SPSS") | 124 | 2.4 × 10⁻⁴ |
| Multiple linear regression | Holzinger-Swineford | R's lm() | 30 | 4.8 × 10⁻¹¹ |
| t-test, ANOVA, Levene | Holzinger-Swineford, bfi | R's t.test(), oneway.test() | 14 | 4.8 × 10⁻¹¹ |
| CFA, CB-SEM | Holzinger-Swineford (3-factor CFA), mobi (ECSI structural model) | lavaan 0.7.3 | 227 | 1.1 × 10⁻⁵ |
| PLS-SEM | mobi (ECSI model) | seminr 2.6.0 | 84 | 5.0 × 10⁻¹¹ |
| Sample size (regression, PLS-SEM) | 36 parameter combinations | Noncentral F distribution in R; Kock & Hadaya (2018) formula | 36 | 0 |
The three public datasets
- bfi (R package psych): 2,800 respondents answering 25 Big Five items on a 6-point scale, with gender, education and age; data from the SAPA project (Revelle, 2026). The reverse-keyed items A1, C4, C5, E1, E2, O2 and O5 are recoded as 7 − value before analysis, in both the tool and R. Download bfi.csv
- HolzingerSwineford1939 (R package lavaan): scores of 301 pupils on 9 mental ability tests (Holzinger & Swineford, 1939; Rosseel, 2012). Download holzinger-swineford-1939.csv
- mobi (R package seminr): 250 mobile phone customers, 24 indicators of the European Customer Satisfaction Index (ECSI) model (Tenenhaus et al., 2005). Download mobi.csv
The three CSV files are unmodified exports from the R packages (empty cells are missing values), so you can paste them into the tools and compare with the tables below.
Cronbach's alpha: the tool versus psych::alpha
Across 8 scales, alpha, standardized alpha, corrected item-total correlations and "alpha if item deleted" from the online Cronbach's alpha calculator differ from psych by at most 4.9 × 10⁻¹¹. Each scale uses the respondents who answered every item of that scale.
| Scale | n | Alpha (tool) | Alpha (R psych) | Lowest corrected item-total correlation (tool / R) |
|---|---|---|---|---|
| bfi A | 2,709 | 0.7038 | 0.7038 | 0.3114 / 0.3114 |
| bfi C | 2,707 | 0.7293 | 0.7293 | 0.4553 / 0.4553 |
| bfi E | 2,713 | 0.7609 | 0.7609 | 0.4546 / 0.4546 |
| bfi N | 2,694 | 0.8133 | 0.8133 | 0.4867 / 0.4867 |
| bfi O | 2,726 | 0.6025 | 0.6025 | 0.2199 / 0.2199 |
| HS visual | 301 | 0.6261 | 0.6261 | 0.375 / 0.375 |
| HS textual | 301 | 0.8827 | 0.8827 | 0.7654 / 0.7654 |
| HS speed | 301 | 0.6885 | 0.6885 | 0.4555 / 0.4555 |
Alpha for bfi O is 0.6, below the commonly used .70 threshold: that is a real property of the data, not a calculation error.
EFA, KMO and Bartlett: the tool versus psych and EFAtools
The survey data analysis tool runs EFA with SPSS defaults:
principal axis factoring that stops after 25 iterations or when communalities change by less than 0.001,
followed by varimax or promax rotation. The reference is EFAtools with type = "SPSS", an R package
that reproduces these steps (Steiner & Grieder, 2020), plus psych for KMO, per-item MSA and Bartlett's test.
| Data | n, factors | KMO (tool / R) | Bartlett χ² (tool / R), df | Eigenvalue 1 (tool / R) | Rotated loadings, maximum difference |
|---|---|---|---|---|---|
| bfi 25 items | 2,436, 5 | 0.8486 / 0.8486 | 18,146.07 / 18,146.07, 300 | 5.1343 / 5.1343 | 2.4 × 10⁻⁴ |
| HS x1-x9 | 301, 3 | 0.7522 / 0.7522 | 904.1 / 904.1, 36 | 3.2163 / 3.2163 | 2.0 × 10⁻⁵ |
KMO, MSA, Bartlett and eigenvalues match to 10⁻⁹. Unrotated loadings match to better than 10⁻⁶; the largest difference (2.4 × 10⁻⁴) arises in the rotation step, because the tool and EFAtools stop the rotation iterations at slightly different criteria.
Comparison with real SPSS output. Grieder and Steiner (2022) published SPSS 27 FACTOR output for
6 correlation matrices (the EFAtools package keeps these tables in SPSS_27). Run on the same 6
matrices, the tool's Factor Matrix, Rotated Factor Matrix (varimax) and Pattern Matrix (promax) differ from SPSS
27 by at most 6.4 × 10⁻⁹. This is the only direct comparison with SPSS output on this page.
Multiple linear regression: the tool versus R's lm()
Model: x9 (speeded discrimination) on x1, x4, x7 and age in years (ageyr) for the 301 Holzinger-Swineford pupils. B coefficients, standard errors, t, p, standardized beta, VIF, R², adjusted R², F and Durbin–Watson differ from R by at most 4.8 × 10⁻¹¹.
| Statistic | Tool | R |
|---|---|---|
| R² | 0.2606 | 0.2606 |
| Adjusted R² | 0.2506 | 0.2506 |
| F | 26.0785 | 26.0785 |
| B (x1) | 0.3121 | 0.3121 |
| B (x4) | 0.0348 | 0.0348 |
| B (x7) | 0.2769 | 0.2769 |
| B (ageyr) | 0.0917 | 0.0917 |
| Standardized beta (x1) | 0.3611 | 0.3611 |
| Standardized beta (x4) | 0.0402 | 0.0402 |
| Standardized beta (x7) | 0.2989 | 0.2989 |
| Standardized beta (ageyr) | 0.0954 | 0.0954 |
| Durbin–Watson | 2.0426 | 2.0426 |
t-test, ANOVA and Levene: the tool versus R
Independent-samples t-test: x1 scores by sex (Holzinger-Swineford, 146 and 155 pupils). One-way ANOVA: mean Agreeableness (A1 reversed, through A5) across 5 education levels for 2,493 bfi respondents, with Welch's ANOVA and Levene's test (mean-based, the SPSS default). Maximum difference: 4.8 × 10⁻¹¹.
| Statistic | Tool | R |
|---|---|---|
| t (Student, equal variances) | 1.4062 | 1.4062 |
| p (Student) | 0.1607 | 0.1607 |
| t (Welch) | 1.4095 | 1.4095 |
| df (Welch) | 298.9025 | 298.9025 |
| F (one-way ANOVA) | 6.017 | 6.017 |
| F (Welch) | 5.9309 | 5.9309 |
| F (Levene) | 1.309 | 1.309 |
PLS-SEM: the tool versus seminr
The ECSI model of Tenenhaus et al. (2005) on the mobi data, reduced by dropping perceived quality (PERQ): 6 constructs (Image, Expectation, Value, Satisfaction, single-item Complaints, Loyalty), 9 paths, path weighting scheme. Outer loadings, weights, path coefficients, R², adjusted R², alpha, rho_A, rho_c, AVE and HTMT from the online PLS-SEM tool differ from seminr by at most 5.0 × 10⁻¹¹.
| Statistic | Tool | seminr |
|---|---|---|
| Path coefficient Expectation → Satisfaction | 0.1672 | 0.1672 |
| Path coefficient Satisfaction → Loyalty | 0.4882 | 0.4882 |
| Path coefficient Image → Satisfaction | 0.4451 | 0.4451 |
| R² Expectation | 0.2565 | 0.2565 |
| R² Value | 0.1286 | 0.1286 |
| R² Satisfaction | 0.5901 | 0.5901 |
| R² Complaints | 0.2801 | 0.2801 |
| R² Loyalty | 0.4578 | 0.4578 |
| AVE Image | 0.4784 | 0.4784 |
| AVE Expectation | 0.4805 | 0.4805 |
| AVE Value | 0.8487 | 0.8487 |
| AVE Satisfaction | 0.6927 | 0.6927 |
| AVE Loyalty | 0.5173 | 0.5173 |
AVE below .50 for Image and Expectation is a real property of the mobi data. Bootstrapping is random resampling, so
it cannot be compared digit by digit; the tool's bootstrap confidence intervals are checked separately in
scripts/check-pls.mjs against 5,000 seminr bootstrap samples, within Monte Carlo error. We have not
compared SmartPLS results on these data.
CFA and CB-SEM: the tool versus lavaan
The classic three-factor CFA on Holzinger-Swineford (visual x1–x3, textual x4–x6, speed x7–x9) and the ECSI structural model on mobi (5 multi-item constructs, single-item Complaints, 7 paths), estimated by ML with lavaan defaults. All estimates, standardized coefficients, standard errors and fit indices (χ², CFI, TLI, RMSEA with its confidence interval, SRMR, GFI, AGFI) from the CFA and SEM tool (Vietnamese interface) differ from lavaan by at most 1.1 × 10⁻⁵.
| Statistic | Tool | lavaan |
|---|---|---|
| χ² (HS) | 85.3055 | 85.3055 |
| CFI (HS) | 0.9306 | 0.9306 |
| TLI (HS) | 0.8958 | 0.8958 |
| RMSEA (HS) | 0.0921 | 0.0921 |
| SRMR (HS) | 0.0652 | 0.0652 |
| Standardized loading x2 (visual) | 0.4236 | 0.4236 |
| Standardized loading x5 (textual) | 0.8551 | 0.8551 |
| Standardized loading x9 (speed) | 0.665 | 0.665 |
| χ² (mobi) | 199.8229 | 199.8229 |
| CFI (mobi) | 0.9379 | 0.9379 |
| TLI (mobi) | 0.9239 | 0.9239 |
| RMSEA (mobi) | 0.0566 | 0.0566 |
| SRMR (mobi) | 0.0493 | 0.0493 |
| Standardized β VAL → SAT | 0.2654 | 0.2654 |
| Standardized β EXPE → VAL | 0.656 | 0.656 |
| Standardized β SAT → LOY | 1.1127 | 1.1127 |
Differences of around 10⁻⁵ in a few coefficients arise because lavaan stops its optimizer earlier than the tool:
the tool's χ² is never larger than χ² at lavaan's solution. The full test suite
(scripts/check-cbsem.mjs) also covers second-order CFA, CFA with cross-loadings, the AMOS χ²
convention, a 25-item CFA on bfi, HTMT against semTools, indirect effects and modification indices.
Sample size: the tool versus calculations in R
Sample size for regression is the smallest n at which the F test of R² reaches 80% power at α = .05, computed with the noncentral F distribution as G*Power does (Faul et al., 2009). Sample size for PLS-SEM uses the inverse square root method (Kock & Hadaya, 2018). Across 36 parameter combinations, the sample size calculator gives exactly the same number of respondents as R.
| Case (α = .05, 80% power) | Tool | R |
|---|---|---|
| Regression, 2 predictors, f² = 0.15 | 68 | 68 |
| Regression, 3 predictors, f² = 0.15 | 77 | 77 |
| Regression, 5 predictors, f² = 0.15 | 92 | 92 |
| Regression, 8 predictors, f² = 0.15 | 109 | 109 |
| Regression, 10 predictors, f² = 0.15 | 118 | 118 |
| PLS-SEM, inverse square root, minimum path coefficient 0.1 | 619 | 619 |
| PLS-SEM, inverse square root, minimum path coefficient 0.2 | 155 | 155 |
| PLS-SEM, inverse square root, minimum path coefficient 0.3 | 69 | 69 |
How to rerun the verification yourself
You do not have to take our word for it. There are two ways to check, from quick to complete:
-
By hand, 5 minutes. Download bfi.csv, open it in
Excel, replace A1 with 7 − A1, delete rows with missing values in A1–A5, and paste the 5 columns into the
Cronbach's alpha calculator. Alpha should be
0.7038 with n = 2,709. In R,
psych::alpha(na.omit(psych::bfi[, 1:5]), keys = "A1")gives the same value (withoutna.omit, psych uses pairwise correlations and gives a slightly different value). -
In full, with scripts. Run
Rscript scripts/kiem_chung_reference.R(requires R with psych, lavaan, seminr, EFAtools and jsonlite) to export the data and reference values, thennode scripts/check-kiem-chung.mjs(Node 22) to run the tools' code and print the differences. The verification code is available on request.
The verification script reruns every time the site is updated. If a change to a tool moves any number beyond tolerance, or makes a table on this page no longer true, the site is not published. Beyond this page, each tool has its own test suite on other data (PLS-SEM, for example, is also compared with cSEM and an independent Python implementation).
What this page does not cover
- We have not run SPSS, AMOS or SmartPLS on the three datasets above. The only direct comparison with SPSS is for EFA (6 published SPSS 27 matrices).
- Not yet on this page: mediation and moderation (PROCESS) and Pearson correlation. These have their own tests in the source code but have not been run on the public data here.
- Matching R means the formulas are implemented correctly, not that the method suits your study. To choose an analysis, use the statistical test chooser.
Frequently asked questions
Do the online tools give the same results as SPSS?
The tools are not SPSS, but they use the same formulas. On three public datasets, 607 numbers were compared with R; the largest difference was 2.4 × 10⁻⁴ (rotated EFA loadings), while Cronbach's alpha, regression, t-tests, ANOVA and PLS-SEM differed by less than 10⁻¹⁰. For EFA, the tool matches published SPSS 27 output to within 6.4 × 10⁻⁹.
Is Cronbach's alpha in SmartPLS different from SPSS?
Cronbach's alpha is a closed-form formula (Cronbach, 1951), so SPSS, R and SmartPLS must give the same value on the same data. SmartPLS also reports rho_A and composite reliability (rho_c); these use PLS loadings and therefore differ from alpha. Our PLS-SEM tool reports all three and matches seminr to within 10⁻⁶.
Why do EFA loadings differ in the fourth decimal place?
The difference comes from the rotation step, not the extraction: unrotated loadings match to better than 10⁻⁶. Each program stops the varimax or promax iterations at a slightly different convergence criterion. Theses report loadings to 3 decimal places, so the difference does not change the number you write.
Can I state in my thesis that I analysed my data with these tools?
Yes. Give the tool name, its address and the date you ran it, and if your examiners ask about the software's accuracy, cite this page. Many programmes require SPSS, AMOS or SmartPLS; in that case ask your supervisor first, and use the tools to cross-check your results.
References
- Cronbach, L. J. (1951). Coefficient alpha and the internal structure of tests. Psychometrika, 16(3), 297–334. https://doi.org/10.1007/BF02310555
- Faul, F., Erdfelder, E., Buchner, A., & Lang, A.-G. (2009). Statistical power analyses using G*Power 3.1: Tests for correlation and regression analyses. Behavior Research Methods, 41(4), 1149–1160. https://doi.org/10.3758/BRM.41.4.1149
- Grieder, S., & Steiner, M. D. (2022). Algorithmic jingle jungle: A comparison of implementations of principal axis factoring and promax rotation in R and SPSS. Behavior Research Methods, 54(1), 54–74. https://doi.org/10.3758/s13428-021-01581-x
- Holzinger, K. J., & Swineford, F. (1939). A study in factor analysis: The stability of a bi-factor solution. Supplementary Educational Monographs, 48. University of Chicago.
- Kock, N., & Hadaya, P. (2018). Minimum sample size estimation in PLS-SEM: The inverse square root and gamma-exponential methods. Information Systems Journal, 28(1), 227–261. https://doi.org/10.1111/isj.12131
- Ray, S., Danks, N. P., & Calero Valdez, A. (2026). seminr: Building and estimating structural equation models (R package version 2.6.0). https://CRAN.R-project.org/package=seminr
- Revelle, W. (2026). psych: Procedures for psychological, psychometric, and personality research (R package version 2.6.9). https://CRAN.R-project.org/package=psych
- Rosseel, Y. (2012). lavaan: An R package for structural equation modeling. Journal of Statistical Software, 48(2), 1–36. https://doi.org/10.18637/jss.v048.i02
- Steiner, M. D., & Grieder, S. (2020). EFAtools: An R package with fast and flexible implementations of exploratory factor analysis tools. Journal of Open Source Software, 5(53), 2521. https://doi.org/10.21105/joss.02521
- Tenenhaus, M., Esposito Vinzi, V., Chatelin, Y.-M., & Lauro, C. (2005). PLS path modeling. Computational Statistics & Data Analysis, 48(1), 159–205. https://doi.org/10.1016/j.csda.2004.03.005