[vastaus aiempaan viestiin]
Kirjoittaja: | Esko Kaukonen |
---|---|
Sähköposti: | - |
Päiväys: | 28.6.2011 10:56 |
Hei! Kiitos, tämä on hieno, mutta onko keinoa päästä tuohon pelkästään Survolla? Terveisin Esko Reijo Sund kirjoitti 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!