Excel-taulut Survo-datoiksi R:n avustuksella

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Petri Palmu
Sähköposti:    petri.palmu'at'helsinki.fi
Päiväys: 10.9.2005 0:11

Moi,

Näyttää siltä, että R:ää välikätenä hyödyntäen Excel-formaatissa
olevat tiedostot voidaan (tauluittain) siirtää ensin R-objektiksi
ja sitä kautta Survon .svo tiedostoksi. Tähän tarvitaan R:n
paketti "RODBC".

Pieni esimerkki:

Olkoon alla olevan tyyppinen (pätkä tämän vuoden
100 m maailmantilastosta) tallettu Excel-tiedostona
"100m.xls" :

 Mark Wind Athlete       Nat  Venue                      Date
9.77  1.6  Asafa Powell  JAM  Athína (Olympic Stadium)   14.6.2005
9.88  0.4  Justin Gatlin USA  Helsinki                   7.8.2005
9.94  1    Leonard Scott USA  London (CP)                22.7.2005
9.96  1    Marc Burns    TRI  Port-of-Spain              25.6.2005


Luodaan R-koodi, jolla otetaan yhteys ko. excel-fileen ja
tuodaan se R:n workspaceen

SAVEP CUR+1,CUR+12,XLS.r
library(RODBC)
# Luodaan yhteys Excel-tiedostoon
channel <- odbcConnectExcel("100m.xls")
print("  Tässä Excel-tiedoston sisältöä  ")
sqlTables(channel)
# Luetaan Excelin "Taul1" R-objektiksi
sh1 <- sqlFetch(channel, "Taul1")
# Talletetaan tab-delimited muotoon ks. args(write.table)
write.table(sh1,"100meters.txt", sep="\t",quote=FALSE,row.names=FALSE)
print(" "); print(" Aineisto R-objektina")
print(sh1)


...............
R-skriptin ajo ...
/SR XLS.r

..ja tulostus:
[1] "  Tässä Excel-tiedoston sisältöä  "
                 TABLE_CAT TABLE_SCHEM TABLE_NAME   TABLE_TYPE REMARKS
1 C:\\SURVO\\R\\DBMS\\100m        <NA>     Taul1$ SYSTEM TABLE
2 C:\\SURVO\\R\\DBMS\\100m        <NA>     Taul2$ SYSTEM TABLE
3 C:\\SURVO\\R\\DBMS\\100m        <NA>     Taul3$ SYSTEM TABLE
[1] " "
[1] " Aineisto R-objektina"
   Mark  Wind        Athlete  Nat                     Venue        Date
1   9.77   1.6  Asafa Powell  JAM  AthÝna (Olympic Stadium)  2005-06-14
2   9.88   0.4 Justin Gatlin  USA                  Helsinki  2005-08-07
3   9.94   1.0 Leonard Scott  USA               London (CP)  2005-07-22
4   9.96   1.0    Marc Burns  TRI             Port-of-Spain  2005-06-25

Warning message:
closing unused RODBC handle 1

....................
Lopuksi siirretään .txt-tiedosto  Survo-dataksi
FILE SAVE 100meters.txt TO NEW WL100
DELIMITER=TAB
..................
FILE LOAD WL100,CUR+1
DATA WL100*
   Mark  Wind Athlete        Nat  Venue                    Date
   9.77   1.6 Asafa Powell   JAM  AthÝna (Olympic Stadium) 2005-06-14
   9.88   0.4 Justin Gatlin  USA  Helsinki                 2005-08-07
   9.94   1.0 Leonard Scott  USA  London (CP)              2005-07-22
   9.96   1.0 Marc Burns     TRI  Port-of-Spain            2005-06-25


Sukrona homma menisi aika näppärästi, eikä tarvitsi pahemmin
kajota Exceliin (tallettaa sarkainerotettuna tms. txt-tiedostona).

Olisi kiva kuulla mahd. näkemyksiä siitä, miten
R:n avulla voisi rakentaa relaatiotietokantoja (sql:n avulla),
suorittaa kyselyjä ja tehdä analyyseja (esim. Access)
tietokannoista.

t.Petri

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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.