/LOAD2 ja /Z ongelmista (win 64-bit)
/LOAD2 SAVE K1.EDT >COPY K1.EDT K2.EDT /LOAD2 K2.EDT / Yritetään avata K2.EDT Avaa uuden Rgui (32-bit) R:n mutta ei Mustetta Siis olen 64-bit R Consolessa (ks. http://muste.45869.n6.nabble.com/Asentaminen-paivittaminen-tp85p88.html) Tältä toiminto näyttää R:n Consolessa: file.copy("K1.EDT","K2.EDT",overwrite=TRUE) # >COPY [1] TRUE > muste:::.muste.system('C:/PROGFILES/R-2.15.0/bin/i386/rgui',FALSE) Eli pitäisi avata pikemminkin: C:\PROGFILES\R-2.15.0\bin\x64\ ja sieltä jokin toinen ohjelma.. /Z Sen sijaan /Z toimii mutta ei avaa uutta R:n Consolea, joten myöskään tulostukset eivät tule mihinkään ikkunaan. Muste kuitenkin toimii /OPEN . / Toimii ja myös tämä writeLines("Moimoi", "k1.txt"); LOADP k1.txt / Moimoi mutta tulostukset R CUR+1,CUR+2 TO r.txt 1+2 LOADP r.txt > 1+2 [1] 3 Nämä kuitenkin toimivat... |
Administrator
|
Nuo "avaamissukrot" ovat vaikeita, kun ne vaativat voimakkaasti järjestelmästä riippuvaisia virityksiä. LOAD2 on ajalta, jolloin Muste starttasi heti library(muste)-komennosta eli tuolta tosiaan puuttuu nykyään tarvittava muste()-komento eikä siis mikään ihme, että Muste ei käynnisty. Tuo on helppo korjata. Hankalampaa on löytää "oikea" polku, josta uusi R pitäisi käynnistää. Windowsissa /LOAD2:ssa käynnistetään <R>/bin/i386/rgui ja /Z:ssa puolestaan <R>/bin/i386/rterm. Rgui siksi, että sen kanssa todella aukeaa uusi R. Rterm olisi muuten näppärämpi, mutta kun se tosiaan käynnistyy samaan "konsoliin" (ja näemmä riippumatta siitä käynnistetäänkö i386 vai x64-puolelta), niin tulostukset "häviävät". Nämä "ongelmat" siis liittyvät enemmän R:ään kuin vain Musteeseen. Jos löydät Petri jostain sopivaa tietoa siitä, miten R:stä käynnistetään toinen R siten, että toivomasi ominaisuudet täyttyvät, niin katsotaan onko asialle tehtävissä jotain. Yksi vaihtoehto olisi tietysti upottaa SURVO.APUun parametri R:n käynnistyspoluksi, jolloin käyttäjä voisi itse säädellä sitä mitä vaihtoehtoa haluaakaan käyttää. |
Joo enpä ole toistaiseksi löytänyt mitään ratkaisevaa.
R:n voi siis käynnistää (win 64) >>C:\PROGFILES\R-2.15.0\bin\x64\Rgui.exe --sdi jossa C:\PROGFILES\R-2.15.0\ kansio, johon mulla R on asennettu ("se pitää siis vaihtaa"). Yo. komento kuitenkin avaa oikein R:n, itse asiassa ikkuna on R Console (hieman erilainen kuin perus RGui). Samaan lopputulokseen kuin /LOAD2 Survossa pääsee manuaalisesti uuden R:n jälkeen LOAD <edt_file> :lla. Mutta en kyllä keksinyt sukroa, joka olisi tuon tehnyt... /Z:aa vastaava lopputulos saadaan tietenkin avaamalla sama edt file uudelleen (joskin R:n käynnistykseen jälkeen ollaan oletuskansiossa, mulla: > getwd() [1] "C:/PROGFILES/R-2.15.0/library/muste" R_pathin asettaminen muste/survo.apuun on varmasti yksi väliaikaisratkaisu...? |
Administrator
|
Löysin keinon hakea oikea polku: paste(shQuote(file.path(R.home("bin"),"R"))) Tuon ainoa ongelma on se, että se osoittaa Windowsissa R.exe:en eikä Rgui:hin tai Rterm:iin. Se on toki helppo muuttaa, mutta on vaikea arvata mitä käyttäjä eniten haluaisi. Voisitko kokeilla miten toimii tuolla pelkällä R.exe:llä? Jos edes jotenkuten, niin tuon voisi laittaa oletukseksi ja sitten systeemiparametrin, jolla tuon voi halutessaan ohittaa.. |
Tässä kokeiluja...
paste(shQuote(file.path(R.home("bin")))) [1] "\"C:/PROGFILES/R-2.15.0/bin/x64\"" R.exe antaa aluksi tämän virheilmon shell(paste(shQuote(file.path(R.home("bin"),"R")))) Fatal error: you must specify '--save', '--no-save' or '--vanilla' Sitten kun laittaa esim. --save , niin se avaa uuden Musten editorin (mutta ei R:ää, ruksuttaa hetken (ladaten tuon omien funktioiden MUSTE.R listan aiempaan R:ään) ja sitten editori sulkeutuu. Aiempi R toimii normaalisti tästä eteenpäin. shell(paste(shQuote(file.path(R.home("bin"),"Rgui")))) kohdalla tapahtuu, niin että uusi Muste+R aukeaa, mutta aiempi Muste jää jumiin. Kun suljin uuden R:n (exit), niin aiempi Muste+R vapautui. Rterm on sama kuin tuo R.exe shell(paste(shQuote(file.path(R.home("bin"),"Rterm")))) Fatal error: you must specify '--save', '--no-save' or '--vanilla' ja siinä käy samoin (eli editori sulkeutuu). |
Administrator
|
Jumittaako komennolla shell(paste(shQuote(file.path(R.home("bin"),"Rgui"))),wait=FALSE) Entä miten "Rgui --sdi":n kanssa? |
Tämä
paste(shQuote(file.path(R.home("bin"),"Rgui"))),wait=FALSE) ei jumita. Mutta tämä jumittaa: paste(shQuote(file.path(R.home("bin"),"Rgui.exe --sdi"))),wait=TRUE) mutta ei jumita kun wait=FALSE. |
Administrator
|
Eli nyt pitäisi valita komentojen
paste(shQuote(file.path(R.home("bin"),"Rgui"))),wait=FALSE)ja paste(shQuote(file.path(R.home("bin"),"Rgui.exe --sdi"))),wait=FALSE)väliltä. SDI olisi Tcl/Tk:n kanssa selvästi parempi, mutta liittyikö siihen jotain kummallisuuksia? Eli aukeaako tuolla aina uusi R Console niin, että jokaisen käynnissä olevan musteen tulostukset näkee omassa Consolessa vai onko vain yksi console, jossa näkyy vain viimeksi käynnistetyn tulostukset? |
Tämä avaa R Consolen (joka on tuossa aiemman viestini kuvassa):
shell(shQuote(file.path(R.home("bin"),"Rgui.exe --sdi")),wait=FALSE) Ja se näyttää minusta toimivan aivan ok (ei näytä liittyvän kummallisuuksia). Se onR, jota käytän ja joka aukeaa Musteen avausvirityksin. Myös toinen: paste(shQuote(file.path(R.home("bin"),"Rgui")),wait=FALSE)) toimii ok, mutta se tosiaan avaa tavanomaisimman Rgui-ikkunan. |
Administrator
|
Automusteella saatavissa olevassa versiossa 0.5.40 sukrot LOAD2 ja Z on muutettu käyttämään em. kutsua. Voisitko testata toimiiko alkuunsakaan, kun minulla ei ollut mahdollisuutta kokeilla Windowsissa. |
No niin nyt /Z ja /LOAD2 näyttävät molemmat toimivan. Tämä hienoa, etenkin /LOAD2 on mulla tosi tärkeä, kun harrastelen komentokeskuksenomaista toimituskenttätyöskentelyä...
Prosessit: /LOAD2 PROC1.EDT /LOAD2 PROC2.EDT /LOAD2 PROC3.EDT ... Vaikka tietenkin käytän SURVO.REF:iä, niin yo. /LOAD2 -tekniikka toimii tietyissä "projekteissa" vieläkin paremmin... |
Administrator
|
No näemmä toimivat nämäkin! Nyt tästä tulee kivaa... Olin ehtinyt jo tottua usean Survon simultaanikäyttöön ja ehdin vähän ajatella, että Musteella yrittäisin pärjätä yhdellä, jos on pakko, mutta ei näemmä tarvitsekaan. :)
Petri: miten niin "tietenkin" käytät SURVO.REF:iä, siis viitelistoja? Epäilen, että (liian) harva niit käyttää edelleen, vaikka kyseessä on yksi töiden yleishallinnan kätevimmistä työkaluista. |
Kimmo, arvasin kyllä, että "tietenkin" -sanaan liittyy tuo kysymys, mutta ajattelin, että tuo sanailu ärsyttää sopivasti niitä, jotka eivät vielä ole ymmärtäneet SURVO.REF tärkeyttä :)
|
/LOAD2 näyttäisi liittyvän ongelma suhteellisen polun sisältävien .EDT -tiedostojen avaamisessa.
Esim. jos olen hakemistossa C:\X\Y\Z\ ja haen tiedostoa toisesta paikasta C:\X\D\K.EDT suhteellisilla poluilla: /LOAD2 ..\..\D\K.EDT , niin Survo R muuttaa matkalla lähtöolinpaikaksi Path:<Survo>/ , joka aiheuttanee ongelman? |
Administrator
|
Sucrossa tosiaan oli ongelma. Korjattu versioon 0.6.11. |
Nyt hakemisto vaihtuu (esimerkissäni) tuohon C:\X\D\ , mutta LOAD ..\..\D\K.EDT joka siis hakee väärästä paikasta. Nyt pitäisi olla pelkkä LOAD K.EDT, niin homma menisi ok. |
Administrator
|
Tuo palanen oli /LOAD-sucrossa, joka vaati myös pientä viilausta, mutta jäi päivittämättä jakeluversioon. Tulee mukaan versiossa 0.6.12. Sitä odotellessa voinet itse tehdä muutoksen LOAD-sucroon. Sucron koodia katsoessa käy myös ilmi, että sen logiikka ei sellaisenaan taivu välilyöntejä sisältävien polkujen käsittelyyn, joten niitä ei kannata edes kokeilla.. |
No mä odottelen ihan uudempaa versiota, ei ole niin fataali ongelma (LOAD komennon voi tehdä manuaalisesti) |
Free forum by Nabble | Edit this page |