Predictive Analytics and R, Part 2

Data preparing examples:

#FROM DATABASE
library(‘RPostgreSQL’)
drv <- dbDriver(“PostgreSQL”)
con <- dbConnect(drv, dbname=”postgres”,user=”postgres”,password=”****”)
#Pivoting
rs <- dbSendQuery(con,paste(“select t.prdat,”,
“coalesce(max(case when t.prioritet=’Emergency’ then t.cnt end),0) as Emergency,”,
“coalesce(max(case when t.prioritet=’High’ then t.cnt end),0) as High,”,
“coalesce(max(case when t.prioritet=’Medium’ then t.cnt end),0) as Medium,”,
“coalesce(max(case when t.prioritet=’Low’ then t.cnt end),0) as Low”,
“from ( select prijavljeno::date as prdat,prioritet,count(*) as cnt”,
“from csr where extract(year from prijavljeno) in (2011,2012) group by 1,2) as t”,
“group by 1 order by 1”)
)

#FROM EXCEL
library(“xlsx”)
file=file.choose()
#INTUITIVE WAY – BAD
data1=read.xlsx2(file,1,colIndex=c(1,3,8),colClasses=c(“integer”,”character”,”character”))
data1$Prioritet=as.character(data1$Prioritet)
data1$X.Prijavljeno=as.character(data1$X.Prijavljeno)
data1$X.Prijavljeno=as.Date(substring(data1$X.Prijavljeno,2),format=”%d.%m.%Y”)

#BETTER WAY, faster and lower memory footprint
#(without automatic stringAsFactors=TRUE for timestamps in data frame creation)
data1=read.xlsx2(file,1,startRow=1,colIndex=c(1,3,8),as.data.frame=FALSE,
colClasses=c(“integer”,”character”,”character”))
data1[3]=lapply(data1[3],function(x) as.Date(substring(x,2),format=”%d.%m.%Y”))
data2=data.frame(data1[[1]],data1[[2]],data1[[3]])
names(data2)=c(“CSR”,”Prioritet”,”Prijavljeno”)
#Contingency table
table=table(data2$Prijavljeno,data2$Prioritet,dnn=c(“Prijavljeno”,”Prioritet”))
data3=as.data.frame.table(table,stringsAsFactors=FALSE)
data3$Prioritet=as.factor(data3$Prioritet)
data3$Prijavljeno=as.Date(data3$Prijavljeno)

Oglasi
Ovaj unos je objavljen u Nekategorizirano. Bookmarkirajte stalnu vezu.

Komentiraj

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava / Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava / Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava / Izmijeni )

Google+ photo

Ovaj komentar pišete koristeći vaš Google+ račun. Odjava / Izmijeni )

Spajanje na %s