آموزش معادلات ساختاری در R استودیو

در این پست به آموزش معادلات ساختاری در R جهت نگارش تحلیل آماری مقاله یا پایان نامه پرداخته می شود. ابتدا آموزش را با ذکر مقدمه ای آغاز می کنیم. سپس در مورد دیتای استفاده شده توضیح می دهیم و مدل مفهومی خود را معرفی کرده و سپس نتایج برازش مدل در نرم افزار R را همراه با کد نویسی های صورت گرفته نشان می دهیم.

امتیاز ۵ از ۵ – ۳ رای
spinner در حال ثبت رای
مقدمه آموزش معادلات ساختاری در R

همانطور که می دانید مدل‌سازی معادلات ساختاری (SEM) به سنگ بنای تحقیقات آموزشی و روان‌شناختی تبدیل شده و ابزاری قدرتمند برای تحلیل مدل‌های نظری پیچیده است. با این حال، رویکرد SEM سنتی (کوواریانس محور) با مفروضات و محدودیت‌هایی مانند نیاز به نرمال بودن و تعداد نمونه زیاد همراه است که می‌تواند محدودکننده باشد.

در مقابل روش مدل سازی معادلات ساختاری حداقل مربعات جزئی (PLS-SEM)، یک روش ناپارامتری است که این محدودیت ها را به چالش می کشد. در این پست، هدف ما ارائه یک آموزش جامع برای اجرای مدل PLS-SEM با استفاده از R است.

مدل معادلات ساختاری در R

در این آموزش ما از یک مدل مفهومی فرضی استفاده می کنیم که متغیرهای آن به زنجیره تامین پایدار مرتبط می شود. در این مدل بسته بندی پایدار به عنوان متغیر مستقل و متغیر عملکرد زنجیره تامین پایدار متغیر وابسته است. در حالی که متغیرهای حمل و نقل پایدار و انبارداری به عنوان متغیرهای میانجی هستند.

آموزش معادلات ساختاری در R

تصویر مدل مفهومی برای اجرای معادلات ساختاری در R

در این آموزش ما یک دیتای پرسشنامه ای فرضی با تعداد 42 سوال و 100 نفر پاسخ دهنده استفاده خواهیم کرد. تعداد سوالات هر متغیر به صورت زیر است:

متغیر مستقل: بسته بندی پایدار (Packaging) دارای 10 گویه (x1 تا x10).

متغیر میانجی 1: انبارداری پایدار (Warehousing) دارای 11 گویه (x11 تا x21).

متغیر میانجی 2: حمل و نقل پایدار (Transport) دارای 12 گویه (x22 تا x33).

متغیر وابسته: عملکرد پایدار (Performance) دارای 9 گویه (x34 تا x42).

دیتای معادلات ساختاری در R

تصویر نام گذاری داده ها برای اجرای معادلات ساختاری در R

نصب پکیج معادلات ساختاری در R

قبل از شروع، مطمئن شوید که نرم افزار R و RStudio را روی سیستم خود نصب کرده اید. همچنین بسته SEMINR را با اجرای دستور زیر در R نصب کنید. البته برای اجرای معادلات ساختاری بسته های متفاوتی وجود دارد که ما در این آموزش به این بسته اکتفا کردیم.

install.packages(“seminr”)

فراخوانی پکیج معادلات ساختاری در R

جهت فراخوانی بسته معادلات ساختاری در R و یا RStdudio از دستور زیر استفاده کنید:

library(SEMINR)

وارد کردن دیتا برای انجام معادلات ساختاری در R

کاربران گرامی، ما در گروه پژوهشی کوکرانا، نحوه وارد کردن دیتا را در R به صورت مفصل آموزش داده ایم. از طریق لینک قرار داده شده می توانید آن را مشاهده کنید. در این آموزش فرمت دیتا اکسل است. برای وارد کردن دیتا ابتدا بایستی پکیج readxl نصب و فراخوانی شود.

install.packege (“readxl”)

library(readxl)

حالا از طریق دستور زیر می توانید دیتا را فراخوانی کنید. توجه کنید که در این قسمت فایل دیتای موجود در فولدر خود را که با نام Data.xlsx ذخیره شده است را در R با نام Data ذخیره کردیم. دیتافریم ساخته شده دارای 42 ستون (گویه) است. تعداد سطرها برابر 100 نفر است.

Data <- read_excel(“C:/Users/name/Desktop/R_tutorial/Data.xlsx”)

حالا برای ایجاد مدل اندازه گیری طبق کد زیر عمل می کنیم. در واقع در اینجا متغیرهای پنهان و متغیرهای آشکار مرتبط را به نرم افزار معرفی میکنیم. توجه داشته باشید که از عبارت mode_A برای نشان دادن سازه انعکاسی استفاده می شود. برای نام گذاری متغیرهای آشکار به تصویر فایل دیتا توجه کنید.

R_MModel <- constructs(
composite(“Packaging”, multi_items(“x_”, 1:10),weights = mode_A),
composite(“Warehousing”, multi_items(“x_”, 11:21),weights = mode_A),
composite(“Transport”, multi_items(“x_”, 22:33),weights = mode_A),
composite(“Performance”, multi_items(“x_”, 34:42),weights = mode_A))

برای ایجاد مدل ساختاری طبق کد زیر عمل می کنیم. در واقع فلش های متغیرهای پنهان به پنهان دیگر را در اینجا مشخص می کنیم. برای مثال در مدل مفهومی سه فلش از سمت متغیر بسته بندی به متغیرهای حمل و نقل و انبارداری و عملکرد پایدار خارج می شود.

R_SModel <- relationships(
paths(from = c(“Packaging”), to = c(“Transport”, “Warehousing”,”Performance”)),
paths(from = c(“Warehousing”), to = c(“Transport”,”Performance”)),
paths(from = c(“Transport”), to = c(“Performance”)))

پس از ایجاد مدل اندازه گیری و مدل ساختاری طبق دستور زیر می توانیم مدل را اجرا کرده و پارامترها را برآورد کنیم.

R_Model <- estimate_pls (data = Data,
measurement_model = R_MModel, structural_model = R_SModel,
inner_weights = path_weighting, missing = mean_replacement,
missing_value = “NA”)

جهت مشاهده خلاصه نتایج می توانیم از دستور زیر استفاده کنیم.

summary(R_Model)

جهت بدست آوردن مقادیر آماره تی و همچنین سطح معنی داری ضرایب رگرسیونی معادلات ساختاری حداقل مربعات جزئی از روش بوت استرپینگ استفاده می کند. طبق کد زیر می توان این کار را انجام داد.

boot_R_Model <- bootstrap_model(seminr_model = R_Model,
nboot = 1000,
cores = NULL,
seed = 123)

جهت مشاهده خلاصه نتایج می توانیم از دستور زیر استفاده کنیم.

summary(boot_R_Model)

منبع این آموزش

این آموزش از کتاب آموزش RStudio به نویسندگی مسعود علی مردی و رقیه زارع برگرفته شده است.

علی مردی، مسعود. زارع، رقیه. (1402). آموزش RStudio. انتشارات دیباگران.

مسعود علی مردی

مسعود علی مردی

هزاران داده تجزیه و تحلیل کردم تا به هدفم برسم و این داستان همچنان ادامه داره …