آموزش محاسبه تحلیل کانونی در نرم افزار R

مدیر انجمن: Ebrahim-Bayazidi

موضوع جدید ارسال پست
hadi-irani
مدیر آزمایشی
مدیر آزمایشی
پست: 186
تاریخ عضویت: چهارشنبه ۳۱ خرداد ۱۳۹۱, ۱۱:۳۱ ب.ظ
تماس:

.
.
.
.
سلام دوستان
در این تایپیک شما با نحوه محاسبه تحلیل همبستگی کانونی با استفاده از نرم افزار R آشنا خواهید شد




اگر محققی بخواهد روابط بین دو مجموعه از داده ها را مطالعه کند روش تحلیل کانونی بهترین روش خواهد بود. این روش به عنوان یک روش تحلیل چند متغیره جهت پیدا کردن روابط خطی بین دو مجموعه چند متغیره کاربرد فراوانی دارد. به عنوان مثال محققی علاقه مند است بداند آیا بین پنج متغیر روانشناختی و پنج ویژگی فردی رابطه خطی وجود دارد یا خیر باید از این روش استفاده نماید. هدف این نوشتار آموزش نرم افزار R نیست و نحوه محاسبه تحلیل کانونی در نرم افزار R مورد توجه می باشد. این نرم افزار را با نرم افزار های مشهوری چون SAS،SPSS قابل رقابت دانسته اند . قبل از اجرای این تکنیک آماری در نرم افزار R باید به روش زیر داده ها را در نرم افزار تعریف کرد.






Canonical <- read.csv("آدرس محل قرار گیری فایل داده ها")
attach(Canonical)
library(fields)
t(stats(Canonical))
library(catspec)
ctab(table(female), addmargins=TRUE)


حال باید دستور زیر را که به صورت ماکرو تهیه شده است در کنسول وارد و اجرا نمائید.
# define the two sets of variables
psych<-mm[,1:3]
acad<-mm[,4:8]

# correlations
library(CCA)
matcor(psych,acad)


که بلافاصله خروجی زیر ظاهر می شود.
$Xcor
locus_of_control self_concept motivation
locus_of_control 1.0000000 0.1711878 0.2451323
self_concept 0.1711878 1.0000000 0.2885707
motivation 0.2451323 0.2885707 1.0000000

$Ycor
read write math science female
read 1.00000000 0.6285909 0.6792757 0.6906929 -0.04174278
write 0.62859089 1.0000000 0.6326664 0.5691498 0.24433183
math 0.67927568 0.6326664 1.0000000 0.6495261 -0.04821830
science 0.69069291 0.5691498 0.6495261 1.0000000 -0.13818587
female -0.04174278 0.2443318 -0.0482183 -0.1381859 1.00000000


به منظور محاسبه تحلیل کانونی دستور زیر باید وارد و اجرا شود.
cc1 <- cc(psych,acad)
# display the canonical correlations
cc1[1]


# raw canonical coefficients
cc1[3:4]


سپس به منظور محاسبه ضرایب هر کدام از متغیر های مدل در هر ریشه کانونی باید دستورات زیر را وارد کرد.
# compute canonical loadings
cc2<-comput(psych, acad, cc1)

# display canonical loadings
cc2[3:6]

$corr.X.xscores
[,1] [,2] [,3]
locus_of_control -0.90404631 -0.3896883 -0.1756227
self_concept -0.02084327 -0.7087386 0.7051632
motivation -0.56715106 0.3508882 0.7451289

$corr.Y.xscores
[,1] [,2] [,3]
read -0.3900402 -0.06010654 0.01407661
write -0.4067914 0.01086075 0.02647207
math -0.3545378 -0.04990916 0.01536585
science -0.3055607 -0.11336980 -0.02395489
female -0.1689796 0.12645737 -0.05650916

$corr.X.yscores
[,1] [,2] [,3]
locus_of_control -0.41955531 -0.06527635 -0.01826320
self_concept -0.00967307 -0.11872021 0.07333073
motivation -0.26320691 0.05877699 0.07748681

$corr.Y.yscores
[,1] [,2] [,3]
read -0.8404480 -0.35882541 0.1353635
write -0.8765429 0.06483674 0.2545608
math -0.7639483 -0.29794884 0.1477611
science -0.6584139 -0.67679761 -0.2303551
female -0.3641127 0.75492811 -0.5434036


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

# tests of canonical dimensions
ev<-cc1$cor^2
ev2<-1-ev

n<-dim(psych)[1]
p<-length(psych)
q<-length(acad)
m<-n -3/2 - (p+q)/2
w<-cbind(NULL) # initialize wilks lambda

for (i in 1:3){
w<-cbind(w,prod(ev2[i:3]))
}

d1<-cbind(NULL)
d2<-cbind(NULL)
f<-cbind(NULL) # initialize f
for (i in 1:3){
s<-sqrt((p^2*q^2-4)/(p^2+q^2-5))
si<-1/s
df1<-p*q
d1<-cbind(d1,df1)
df2<-m*s-p*q/2+1
d2<-cbind(d2,df2)
r<-(1-w^si)/w^si
f<-cbind(f,r*df2/df1)
p<-p-1
q<-q-1
}

pv<-pf(f,d1,d2,lower.tail=FALSE)
dmat<-cbind(t(w),t(f),t(d1),t(d2),t(pv))
colnames(dmat)<-c("WilksL","F","df1","df2","p")
rownames(dmat)<-c(seq(1:length(w)))

dmat

که خروجی به شرح زیر خواهد بود:
WilksL F df1 df2 p
1 0.7543611 11.715733 15 1634.653 7.497594e-28
2 0.9614300 2.944459 8 1186.000 2.905057e-03
3 0.9891858 2.164612 3 594.000 9.109218e-02



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

[CENTER]مشاوره در تمامی مراحل انجام پایان نامه
انجام پایان نامه کارشناسی و کارشناسی ارشد

انجام مقالات علمی-پژوهشی و طرح های پژوهشی-تحققاتی
(حوزه های علوم اجتماعی، روان شناسی، علوم تربیتی و مدیریت)


تحلیل آماری پایان نامه ها و مقالات علمی با نرم افزارهای
SPSS, LISREL, AMOS, PLS Software



[/COLOR]
[/B][/CENTER]

بازگشت به “آموزش R”

  • اطلاعات