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.

No comments:

Post a Comment