[vastaus aiempaan viestiin]
Kirjoittaja: | Reijo Sund |
---|---|
Sähköposti: | - |
Päiväys: | 8.3.2011 14:05 |
Hei! Olen esitellyt vuonna 2005 seminaarissa mainittujen korrelaatioiden laskemista R:ää hyödyntäen (oli ihan sukro sitä varten). Alla sukro ja esimerkkikoodia. terv. Reijo *********************************************** SAVE HCORR / Heterogeneous Correlation Matrix Generoidaan testiaineisto MATRIX HETCOR /// X1 X2 X3 X4 X1 1.0000 0.4198 0.1169 0.3112 X2 0.4198 1.0000 0.2695 0.3013 X3 0.1169 0.2695 1.0000 0.5418 X4 0.3112 0.3013 0.5418 1.0000 MAT SAVE HETCOR MNSIMUL HETCOR,*,HC01,1000,0 / RND=rand(999) .................................................................................. Luokitellaan muutama jatkuva muuttuja CLASSIFICATION CLA1 -999 - 0.75: 0 0.75 - 999: 1 END CLASSIFICATION CLA2 -999 - -1: 0 -1 - .5: 1 .5 - 1.5: 2 1.5 - 999: 3 END FILE EXPAND HC01 VAR Y1:1,Y2:1 TO HC01 / Y1=MISSING Y2=MISSING CLASSIFY HC01,CLA1,X3,Y1 CLASSIFY HC01,CLA2,X4,Y2 .................................................................................. Sukrokoodi heterogeenisen korrelaatiomatriisin tuottamiseksi (Tarvitaan R sekä sen paketit polycor ja mvtnorm) TUTSAVE HCORR {init}{tempo -1} {R}{line start}SCRATCH /{act} {R}FILE COPY {print W1} TO NEW _HCORR{act} {R}.{copy}{R} {R}FILE STATUS _HCORR{act}{del line} {W4=0} keruu: {line start}{save word W2} if W2 '=' END then goto jatko if W2 '<>' FIELDS: then goto eifi {W4=1}{del line} eifi: if W4 = 0 then goto rivipois {line start}{next word}{next word}{r}{save char W2} {W3=W3&W2} rivipois: {del line} {goto keruu} jatko: {del line}{del line}FILE DEL hcorr.dat{act} {R}FILE LOAD _HCORR TO hcorr.dat / NAMES8=1{act} {R}.{copy}{R} {R}SAVEP CUR+2,CUR+9,hcorr.r {R}* * * R-code start * * * {R}coltypes <- c( {R}{line start}{erase}{print W3} purku: {line start}{save char W2}{del}{u}{line end} if W2 '=' {sp} then goto etene if W2 '=' A then goto numeric "factor",{R}{goto purku} numeric: "numeric",{R}{goto purku} etene: {l}{del}){R} data <- read.table("hcorr.dat",TRUE,colClasses = coltypes){R} library(mvtnorm){R} library(polycor){R} tulos <- hetcor(data,ML=TRUE){R} matriisi <- as.matrix(tulos){R} write.table(matriisi,"TULOS.DAT"){R} tulos{R} {u10}{act}{d10} * * * R-code end * * * {R}.{copy}{R} {W1=hcorr.r}{W2=}{call SR} {pre}{d}{pre}{d} {R}.{copy}{R} {R}LOADP TULOS.DAT,CUR+2{act} {R}REPLACE ""","",C{act} {R}{ins}/// {u}{ins} {line start}{erase}MATRIX HCORR.M {u}{line start}{erase}MAT SAVE HCORR.M{act} {line start}{erase}MAT SAVE HCORR.M{act} {line start}{erase}MAT LOAD HCORR.M{act} {line start} {end} .................................................................................. Esimerkki 2 - Riskikäsitysten polykorinen korrelaatio LOAD RISKI2 .................................................................................. Esimerkki - jatkuvat muuttujat tunnistetaan maskista A VARS=X1(A),X2(A),Y1(B),Y2(B) /HCORR HC01
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!