MENIU

PRADŽIA | APIE PUSLAPĮ | KONTAKTAI | AUTORINĖS TEISĖS

Similar page in ENGLISH is available HERE.

Search This Blog

Sunday, September 18, 2016

13 tema. Kaip sukurti paprastą programinį kodą

Ši tema apie tai, kaip R statistinėje programoje sukurti paprastą programinį kodą.

Ankstesniuose pavyzdžiuose visas komandas rašėme R lange. Tačiau 21 amžiuje tapo įprasta naudoti programinį kodą. T. y. surašome taip vadinamoje vykdomojoje byloje, iš kur R programa turi paimti duomenis, ką turi su jais padaryti, ir kur (kokioje byloje) turi pateikti rezultatą.

Kad suprastumėte, kaip veikia programinis kodas, pateiksiu labai paprastą pavyzdį. Tarkime, turime duomenų lentelę su skirtingų lengvųjų automobilių išmetamu anglies dvideginio (CO2) kiekiu (g / km), variklio tūriu (kubiniais cm, kitaip, cc), svoriu (kg) ir pagaminimo metais (pvz., 2000):


CO2
cc
svoris
metai
1
134
999
1340
2001.5
2
166
1390
1420
2003.5
3
149
1390
1790
2005.5
4
154
1595
1810
2005.5
5
185
1600
1930
2008.5
6
185
1600
1870
2002.5
7
202
1984
1900
2002.5
8
252
2800
2470
2005
9
164
1272
1400
1987.5
10
172
1781
1400
1987.5
11
167
1391
1505
1994.5
12
176
1781
1535
1994.5

Tarkime, šią duomenų lentelę esame išsaugoję .csv formatu aplanke "C:\Users\Vartotojas\Dropbox", o .csv bylai suteiktas pavadinimas yra "auto.csv".

Sukurkime programinį kodą, kuris:
1) šių duomenų pagrindu sudarytų modelį, prognozuojantį, koks bus lengvojo automobilio išmetamas anglies dvideginio (CO2) kiekis (g / km), turint tam tikrą automobilio variklio tūrį (kubiniais cm, kitaip, cc), svorį (kg) ir pagaminimo metus (pvz., 2000);
2) sukurtų lentelėje papildomą stulpelį su prognostiniais duomenimis;
3) šią lentelę pateiktų naujoje .csv byloje.

Sukurkime .txt bylą (pavadinkime ją "kodas.txt"), pavyzdžiui, jau minėtame aplanke "C:\Users\Vartotojas\Dropbox". Atidarykime šią bylą ir pradėkime joje rašyti kodą. Pirmiausia nurodykime importuoti mūsų lentelę:

lentele<-read.csv(paste("C:/Users/Vartotojas/Dropbox","/auto.csv",sep=""), row.names=1)

Tęskime kodą, paprašydami sudaryti modelį:

mod <- lm(CO2 ~ cc + svoris + metai, data=lentele)

Paprašykime mūsų lentelėje "lentele" sukurti naują stulpelį („CO2progn“) su prognostinėmis CO2 reikšmėmis:

lentele$CO2progn <- predict(mod, newdata= lentele)

Paprašykime eksportuoti mūsų lentelę "lentele" į bylą "prognoze.csv":

write.csv(lentele,file=paste("C:/Users/Vartotojas/Dropbox","/prognoze.csv",sep=""),row.names=TRUE)

T. y. mūsų .txt byloje ("kodas.txt") bus toks tekstas (žr. pilką foną, # eilutės pradžioje reiškia, kad tai ne kodas, o mūsų patogumui pateiktas paaiškinimas):

# Pirmiausia nurodykime importuoti mūsų lentelę:

lentele<-read.csv(paste("C:/Users/Vartotojas/Dropbox","/auto.csv",sep=""), row.names=1)

# Tęskime kodą, paprašydami sudaryti modelį:

mod <- lm(CO2 ~ cc + svoris + metai, data=lentele)

# Paprašykime mūsų lentelėje "lentele" sukurti naują stulpelį („CO2progn“) su prognostinėmis CO2 reikšmėmis:

lentele$CO2progn <- predict(mod, newdata= lentele)

# Paprašykime eksportuoti mūsų lentelę "lentele" į bylą "prognoze.csv":

write.csv(lentele,file=paste("C:/Users/Vartotojas/Dropbox","/prognoze.csv",sep=""),row.names=TRUE)

Atidarykime R langą ir paprašykime paleisti kodą:

source("C:\\Users\\Vartotojas\\Dropbox\\kodas.txt")

Štai ir viskas, kodas buvo įvykdytas:


Aplanke "C:\Users\Vartotojas\Dropbox" pasitikrinkime sukurtą bylą "prognoze.csv" su prognostinėmis CO2 reikšmėmis ("CO2progn"):


Šis paprastas pavyzdys yra gera iliustracija, kokias beribes galimybes mums suteikia R programa. O sutaupytą darbo laiką galėsime feisbuke smagiai praleist.

Saturday, September 3, 2016

12 tema. Kaip duomenis iš R perkelti į MS Excel (.csv bylą)

Ši tema apie tai, kaip duomenų lentelę iš R statistinės programos perkelti į MS Excel (.csv bylą).

Ankstesnės temos metu parodžiau, kaip duomenų lentelę iš R statistinės programos perkelti į MS Excel kopijuojant tiesiai iš R lango. O dabar parodysiu, kaip lentelę perkelti naudojant komandą, sukuriančią .csv bylą.

Kaip prisimename iš ankstesnės temos, mūsų lentelė yra įrašyta faile „pavyzdys.RData“. Atsidarykime šį failą. Komanda „show(lentele2)“ R lange pateiks mūsų lentelę:


Eksportuokime mūsų lentelę "lentele2" į bylą "lentele3.csv". Bylą sukurkime aplanke "C:\Users\Vartotojas\Dropbox" (arba kitame jūsų kompiuteryje esančiame aplanke). Tam galime panaudoti šią komandą:

write.csv(lentele2,file=paste("C:/Users/Vartotojas/Dropbox","/lentele3.csv",sep=""),row.names=FALSE)

Kaip matome, naudojame komandą write.csv(). Joje nurodome, kokią lentelę eksportuosime .csv formatu ("lentele2"), į kokį aplanką eksportuosime ("C:/Users/Vartotojas/Dropbox", kaip matote, "\" turime pakeisti į "/"), kaip pavadinsime sukurtą bylą (pavadinau "lentele3.csv"). Taip pat nurodžiau, kad man nereikalingas pirmas stulpelis su eilučių numeriais (row.names=FALSE). Jei jums šis stulpelis reikalingas, vietoje "FALSE" įrašykite "TRUE".

Įsitikinkime, kad nepadarėme klaidų ir apie klaidas nebuvo pranešta R lange:


Mūsų nurodytame aplanke "C:\Users\Vartotojas\Dropbox" susiraskime ir atsidarykime sukurtą bylą ("lentele3.csv"):


Vaizdas praktiškai kaip MS Excel. Savo patogumui bylą išsaugokime įprastu MS Excel formatu:


Štai ir viskas. Dabar žinome jau du būdus, kaip duomenis iš R perkelti į MS Excel bylą.

Sunday, July 31, 2016

11 tema. Kaip duomenis iš R perkelti į skaičiuoklę

Ši tema apie tai, kaip R aplinkoje esančią lentelę perkelti į skaičiuoklę; kaip duomenų lentelę iš R statistinės programos perkelti į MS Excel.

Ankstesnės temos metu suprognozavome 212 benzininių automobilių išmetamą CO2 kiekį. Kaip prisimename iš ankstesnės temos, mūsų lentelė yra įrašyta faile „pavyzdys.RData“. Atsidarykime šį failą. Komanda „show(lentele2)“ R lange pateiks mūsų lentelę:


Gauta prognoze norėsime pasidalinti su kolegoms ar užsakovais. Tačiau prognozę greičiausiai turėsime pateikti MS Excel formatu. Tad kaip mūsų lentelę "lentele2" perkelti į skaičiuoklę?

Pats tai darau labai paprastu būdu. Su kompiuterio pele pasižymiu R lange esančią lentelę, štai taip:



Spaudžiu ctrl+c, taip perkeldamas pažymėtą lentelę į kompiuterio atmintį. Ir įklijuoju lentelę į skaičiuoklės langą spausdamas ctrl+v, štai taip:


Įklijuota lentelė greičiausiai turės tik vieną (tekstinį) stulpelį, t. y. visi kiekvienos eilutės langeliai bus suplakti į vieną langelį. Todėl, turint pažymėtą šį vienintelį stulpelį, meniu skirtuke "Data" spaudžiu mygtuką "Text to Columns":


Paprastai užtenka paspausti "Finish" (jei išskaidytų nekorektiškai, tektų pasirinkti "Delimited" ir patinkinti parametrus):


Ir viskas. Mūsų lentelė sutvarkyta ir paruošta siuntimui arba tolimesnei analizei:


Ekonometrijos kūrybinėse dirbtuvėse gimusią pamokėlę repo ritmu, kaip R aplinkoje esančią lentelę perkelti į skaičiuoklę, galite peržiūrėti čia.

Thursday, July 21, 2016

10 tema. Repo ritmu: kaip duomenis iš R perkelti į skaičiuoklę

Ekonometrijos kūrybinėse dirbtuvėse gimė pamokėlė repo ritmu, kaip R aplinkoje esančią lentelę perkelti į skaičiuoklę:


Come on, come on,
Come on, come on, yeah

Sveiki visi, norintys išmokti dirbt efektyviau
Ir sutaupytą darbo laiką feisbuke praleist
Ši pamokėlė apie tai, kaip į skaičiuoklę perkelt duomenis iš R

Štai lentelę su prognoze turiu programos R lange
Bet kitiems norėčiau šią lentelę skaičiuoklėje nusiųst
Tad lentelę pasižymiu ir tuojau ją kelsiu į eeeekselį iš R

Į eeeekselį iš R, į eeeekselį iš R 
Check it out, yeah

Dabar mano lentelė pažymėta - spaudžiu ctrl+C
Ir štai mano lentelė - kompiuterio atmintyje
Tad ieškome skaičiuoklės, į kurią mes duomenis norėsim įklijuot

Norėsim įklijuot, norėsim įklijuot
Check it out, yeah

Atsidarau skaičiuoklės langą ir spaudžiu ctrl+V
Ir savo duomenis aš jau skaičiuoklėje matau
Vienintele problema, kad šie duomenys vienam tekstiniam stulpely suplakti

Tad įklijuotą tekstinį stulpelį turim pažymėt
Ir paspaust mygtuką, kurio vardas - ne, ne auksinis kardas
O „Tekstą į stulpelius“
Ir galime jau džiaugtis į skaičiuoklę perkeltais duomenimis

Yeah 
Check it out, check it out, 
Check it out, yeah