Schemat przykładu
Model zakłada, że postrzegana jakość wpływa na wartość i satysfakcję, a wartość dodatkowo wpływa na satysfakcję. Wszystkie trzy konstrukty w pierwszym wariancie są wspólnymi czynnikami refleksyjnymi. W seminr używamy więc reflective(), a nie composite(..., mode_A); dokumentacja pakietu wskazuje, że konstrukcja reflective() jest estymowana za pomocą consistent PLS. W cSEM wspólny czynnik oznaczamy operatorem =~, a kompozyt operatorem <~.
Wariant 1: seminr
library(seminr)
data(mobi, package = "seminr")
# W przykładzie trzy konstrukty są wspólnymi czynnikami refleksyjnymi.
# reflective() uruchamia w seminr estymację consistent PLS (PLSc).
mm <- constructs(
reflective("Jakosc", multi_items("PERQ", 1:7)),
reflective("Wartosc", multi_items("PERV", 1:2)),
reflective("Satysfakcja", multi_items("CUSA", 1:3))
)
sm <- relationships(
paths(from = "Jakosc", to = c("Wartosc", "Satysfakcja")),
paths(from = "Wartosc", to = "Satysfakcja")
)
fit_plsc <- estimate_pls(
data = mobi,
measurement_model = mm,
structural_model = sm,
inner_weights = path_weighting,
assess_syntax = TRUE
)
summary(fit_plsc)
set.seed(2026)
boot <- bootstrap_model(fit_plsc, nboot = 5000, cores = 1, seed = 2026)
summary(boot)
rho_A(fit_plsc, fit_plsc$constructs)
rhoC_AVE(fit_plsc)
boot$HTMT_descriptives
# Ocenę predykcyjną wykonuj poza próbą używaną do dopasowania.
pred <- predict_pls(fit_plsc, technique = predict_DA, noFolds = 10, cores = 1)
predPo estymacji najpierw sprawdź zbieżność, liczbę obserwacji wykorzystanych w analizie i diagnostykę modelu pomiarowego. Bootstrap służy do wyznaczania empirycznej niepewności, ale nie naprawia błędnej specyfikacji ani zależnych obserwacji. Liczba 5000 replikacji jest rozsądnym punktem startowym do raportu; przy wyniku granicznym warto sprawdzić stabilność przedziałów.
Wariant 2: cSEM
library(cSEM)
data("satisfaction", package = "cSEM")
# =~ oznacza common factor; <~ oznacza composite.
model <- "
Image =~ imag1 + imag2 + imag3
Expectation =~ expe1 + expe2 + expe3
Satisfaction =~ sat1 + sat2 + sat3
Satisfaction ~ Image + Expectation
"
set.seed(2026)
fit <- csem(
.data = satisfaction,
.model = model,
.approach_weights = "PLS-PM",
.disattenuate = TRUE,
.resample_method = "bootstrap",
.R = 4999,
.seed = 2026
)
summarize(fit)
assess(fit, .quality_criterion = c(
"rho_C", "rho_C_weighted_mm", "ave", "htmt", "vif", "r2", "f2"
))
# Dla konstruktu kompozytowego zmień wyłącznie uzasadnioną teorią linię, np.:
# IndeksCyfrowy <~ dostep + umiejetnosci + czestosc
# Wtedy oceniaj wagi, ich niepewność, współliniowość i trafność treściową..disattenuate = TRUE włącza korektę osłabienia, gdy model zawiera wspólne czynniki. Nie jest to opcja, którą zaznacza się mechanicznie dla kompozytów. Wyniki assess() trzeba filtrować zgodnie z typem konstruktu: AVE i ρ odnoszą się do refleksyjnego pomiaru, natomiast dla kompozytu kluczowe są wagi, ich CI, VIF oraz dowody trafności treściowej i nomologicznej.
Jak przygotować własne dane?
- Zachowaj niezmieniony eksport źródłowy i utwórz skrypt czyszczenia.
- Sprawdź zakres każdej pozycji, braki, pozycje odwrócone i kolumny o zerowej wariancji.
- Ustal, czy odpowiedzi porządkowe można sensownie traktować jako przybliżenie ciągłe; dla nielicznych kategorii rozważ metody przeznaczone do danych porządkowych.
- Oddziel próbę do rozwoju modelu od próby walidacyjnej albo zastosuj uczciwą walidację krzyżową.
- Zapisz
sessionInfo(), ziarno losowania, wersję danych i pełny skrypt.
Jak czytać wynik po kolei?
| Krok | Wspólny czynnik | Kompozyt |
|---|---|---|
| 1 | Ładunki i ich przedziały; błędy Heywooda lub niestabilność. | Znaki i rozmiary wag, bootstrap CI. |
| 2 | ρA, ρC, AVE oraz zgodność modelu. | VIF i kompletność pokrycia definicji. |
| 3 | HTMT/korelacje czynników oraz porównanie alternatywnych modeli. | Trafność nomologiczna i — jeśli dostępna — redundancyjna. |
| 4 | Ścieżki z CI, R², f², efekty pośrednie, stabilność i predykcja poza próbą. | |
Przykład pełnej interpretacji APA 7
Dlaczego dwa pakiety mogą zwrócić inne liczby?
Różnica nie musi oznaczać błędu. Najpierw porównaj, czy oba modele wykorzystują identyczne obserwacje, kodowanie braków, standaryzację i znaki pozycji. Następnie sprawdź, czy konstrukt w jednym pakiecie jest wspólnym czynnikiem, a w drugim kompozytem Mode A. Różnić mogą się schemat wag wewnętrznych, korekta znaku, tolerancja zbieżności, sposób disattenuation oraz domyślna obsługa przypadków niedopuszczalnych. Dopiero po ujednoliceniu tych elementów ma sens porównanie ścieżek.
Najlepszą diagnostyką jest mały model testowy. Zacznij od jednego predyktora i jednego wyniku, porównaj macierz korelacji, wagi i wyniki konstruktów, a potem dodawaj elementy. Taki proces często ujawnia, że różnica pochodzi z pojedynczej pozycji odwróconej albo z tego, że w jednym modelu zastosowano PLSc, a w drugim klasyczny PLS.
Bootstrap: co zapisać i jak sprawdzić stabilność?
Zapisz liczbę replikacji, sposób losowania, ziarno oraz metodę konstruowania przedziałów. Przy małej próbie rozkład bootstrapowy może być nieregularny, a część replikacji może prowadzić do niedopuszczalnych rozwiązań. Nie wolno po cichu zmieniać opcji, aż przedział przestanie obejmować zero. Sprawdź, czy zwiększenie liczby replikacji z 2000 do 5000 albo 10 000 nie zmienia wniosku oraz ile prób zostało odrzuconych.
Dla wag kompozytu warto oglądać cały rozkład i stabilność znaku. Dla HTMT przedział powinien odpowiadać jawnie określonej hipotezie o rozróżnialności konstruktu, ale nie zastępuje porównania teoretycznego. Dla efektu pośredniego używaj przedziału iloczynu ścieżek, ponieważ jego rozkład zwykle nie jest symetryczny.
Proponowana struktura projektu R
├── data-raw/ — niezmieniony eksport
├── data/ — baza analityczna bez identyfikatorów
├── R/01-clean.R — czyszczenie i kodowanie
├── R/02-model.R — specyfikacja konstruktów i ścieżek
├── R/03-estimate.R — estymacja, bootstrap i diagnostyka
├── R/04-report.R — tabele i wykresy
├── output/ — wyniki generowane automatycznie
└── README.md — wersje, źródła danych i instrukcja uruchomienia
Skrypt czyszczenia nie powinien nadpisywać surowego pliku. Tabele do pracy najlepiej generować z obiektów wynikowych, aby poprawa danych lub modelu nie wymagała ręcznego przepisywania liczb. Po zakończeniu zapisz sessionInfo() i — jeśli projekt ma być odtwarzany po latach — migawkę zależności za pomocą narzędzia takiego jak renv.
Kontrola reprodukowalności
- Kod rozróżnia
reflective()/=~od kompozytu. - Raport podaje obsługę braków i faktyczne N.
- Bootstrap ma zapisane ziarno i liczbę replikacji.
- Wersje R, seminr i cSEM są zarchiwizowane.
- Predykcja jest oceniona na niewykorzystanych danych.
- Wyniki pakietów porównuje się dopiero po ujednoliceniu specyfikacji, skalowania i ustawień.
Pojęcia potrzebne do tego zagadnienia
Definicje poniżej rozwijają najważniejsze terminy, pokazują wzory, przykłady i gotowe raportowanie w APA 7.
Definicje, zalecenia interpretacyjne i sposób raportowania oparto na literaturze metodologicznej wskazanej w bibliografii (Dijkstra i Henseler, 2015).
Planujesz artykuł lub projekt naukowy?
Możemy przygotować plan analityczny, reprodukowalny kod, modele, raport publication-ready i odpowiedź na uwagi recenzentów.
Analizy statystyczne dla badaczyOmów projektBibliografia i dalsza literatura naukowa (APA 7)
- Ray, S., Danks, N. P., & Calero Valdez, A. (2026). seminr: Building and estimating structural equation models (Version 2.5.0) [R package]. https://cran.r-project.org/package=seminr
- Rademaker, M. E., & Schuberth, F. (2020). cSEM: Composite-based structural equation modeling (Version 0.6.1) [R package]. https://floschuberth.github.io/cSEM/
- Dijkstra, T. K., & Henseler, J. (2015). Consistent partial least squares path modeling. MIS Quarterly, 39(2), 297–316. https://doi.org/10.25300/MISQ/2015/39.2.02
- Schuberth, F., Henseler, J., & Dijkstra, T. K. (2018). Confirmatory composite analysis. Frontiers in Psychology, 9, 2541. https://doi.org/10.3389/fpsyg.2018.02541
- Henseler, J., Ringle, C. M., & Sarstedt, M. (2015). A new criterion for assessing discriminant validity in variance-based structural equation modeling. Journal of the Academy of Marketing Science, 43, 115–135. https://doi.org/10.1007/s11747-014-0403-8
- Rönkkö, M., & Cho, E. (2022). An updated guideline for assessing discriminant validity. Organizational Research Methods, 25(1), 6–14. https://doi.org/10.1177/1094428120968614
- Liengaard, B. D., Sharma, P. N., Hult, G. T. M., Jensen, M. B., Sarstedt, M., Hair, J. F., & Ringle, C. M. (2021). Prediction: Coveted, yet forsaken? Introducing a cross-validated predictive ability test in partial least squares path modeling. Decision Sciences, 52(2), 362–392. https://doi.org/10.1111/deci.12329
- Schuberth, F., Henseler, J., & Dijkstra, T. K. (2018). Partial least squares path modeling using ordinal categorical indicators. Quality & Quantity, 52, 9–35. https://doi.org/10.1007/s11135-016-0401-7
- Appelbaum, M., Cooper, H., Kline, R. B., Mayo-Wilson, E., Nezu, A. M., & Rao, S. M. (2018). Journal article reporting standards for quantitative research in psychology: The APA Publications and Communications Board task force report. American Psychologist, 73(1), 3–25. https://doi.org/10.1037/amp0000191
- Wilkinson, L., & Task Force on Statistical Inference. (1999). Statistical methods in psychology journals: Guidelines and explanations. American Psychologist, 54(8), 594–604. https://doi.org/10.1037/0003-066X.54.8.594
Cytowania BibTeX
@manual{ray2026seminr, author={Ray, Soumya and Danks, Nicholas Patrick and Calero Valdez, André}, title={seminr: Building and Estimating Structural Equation Models}, year={2026}, note={R package version 2.5.0}, url={https://cran.r-project.org/package=seminr}}@manual{rademaker2020csem, author={Rademaker, Manuel E. and Schuberth, Florian}, title={cSEM: Composite-Based Structural Equation Modeling}, year={2020}, note={R package version 0.6.1}, url={https://floschuberth.github.io/cSEM/}}@article{dijkstra2015plsc, author={Dijkstra, Theo K. and Henseler, Jörg}, title={Consistent Partial Least Squares Path Modeling}, journal={MIS Quarterly}, year={2015}, volume={39}, number={2}, pages={297--316}, doi={10.25300/MISQ/2015/39.2.02}}@article{schuberth2018cca, author={Schuberth, Florian and Henseler, Jörg and Dijkstra, Theo K.}, title={Confirmatory Composite Analysis}, journal={Frontiers in Psychology}, year={2018}, volume={9}, pages={2541}, doi={10.3389/fpsyg.2018.02541}}@article{henseler2015htmt, author={Henseler, Jörg and Ringle, Christian M. and Sarstedt, Marko}, title={A New Criterion for Assessing Discriminant Validity in Variance-Based Structural Equation Modeling}, journal={Journal of the Academy of Marketing Science}, year={2015}, volume={43}, pages={115--135}, doi={10.1007/s11747-014-0403-8}}@article{ronkko2022discriminant, author={Rönkkö, Mikko and Cho, Eunseong}, title={An Updated Guideline for Assessing Discriminant Validity}, journal={Organizational Research Methods}, year={2022}, volume={25}, number={1}, pages={6--14}, doi={10.1177/1094428120968614}}@article{liengaard2021cvpat, author={Liengaard, Benjamin D. and Sharma, Pratyush N. and Hult, G. Tomas M. and Jensen, Martin B. and Sarstedt, Marko and Hair, Joseph F. and Ringle, Christian M.}, title={Prediction: Coveted, Yet Forsaken? Introducing a Cross-Validated Predictive Ability Test in Partial Least Squares Path Modeling}, journal={Decision Sciences}, year={2021}, volume={52}, number={2}, pages={362--392}, doi={10.1111/deci.12329}}@article{schuberth2018ordinal, author={Schuberth, Florian and Henseler, Jörg and Dijkstra, Theo K.}, title={Partial Least Squares Path Modeling Using Ordinal Categorical Indicators}, journal={Quality and Quantity}, year={2018}, volume={52}, pages={9--35}, doi={10.1007/s11135-016-0401-7}}@article{appelbaum2018jars, author={Appelbaum, Mark and Cooper, Harris and Kline, Rex B. and Mayo-Wilson, Evan and Nezu, Arthur M. and Rao, Stephen M.}, title={Journal article reporting standards for quantitative research in psychology}, journal={American Psychologist}, year={2018}, volume={73}, number={1}, pages={3--25}, doi={10.1037/amp0000191}}@article{wilkinson1999statistical, author={Wilkinson, Leland and {Task Force on Statistical Inference}}, title={Statistical methods in psychology journals: Guidelines and explanations}, journal={American Psychologist}, year={1999}, volume={54}, number={8}, pages={594--604}, doi={10.1037/0003-066X.54.8.594}}