Improve net() with class selection
Rename blank class as "unclassified"
This commit is contained in:
16
working.Rmd
16
working.Rmd
@ -24,16 +24,24 @@ journal<-rbind(journal1,journal2)
|
|||||||
## Clean up
|
## Clean up
|
||||||
# Date is date
|
# Date is date
|
||||||
journal$Date<-as.Date(journal$Date,format="%m/%d/%Y")
|
journal$Date<-as.Date(journal$Date,format="%m/%d/%Y")
|
||||||
|
# Replace empty classes
|
||||||
|
journal$Class[journal$Class==""]<-c("unclassified")
|
||||||
# Class is a factor
|
# Class is a factor
|
||||||
journal$Class<-as.factor(journal$Class)
|
journal$Class<-as.factor(journal$Class)
|
||||||
|
# Empty class should be NA
|
||||||
# Debit and Credit are numeric, without commas
|
# Debit and Credit are numeric, without commas
|
||||||
journal$Debit<-as.numeric(sub(",","",journal$Debit))
|
journal$Debit<-as.numeric(sub(",","",journal$Debit))
|
||||||
journal$Credit<-as.numeric(sub(",","",journal$Credit))
|
journal$Credit<-as.numeric(sub(",","",journal$Credit))
|
||||||
|
|
||||||
## Temp function location
|
## Temp function location
|
||||||
# All time net, takes journal as an argument
|
# All time net, takes journal and class name(s) as an argument
|
||||||
net.calc<-function(journ){
|
net<-function(journ,classselect="all"){
|
||||||
net<-sum(journ$Credit,na.rm=T)-sum(journ$Debit,na.rm=T)
|
if("all" %in% classselect)
|
||||||
|
classselect<-levels(journ$Class)
|
||||||
|
print(classselect)
|
||||||
|
net<-sum(journ$Credit[journ$Class %in% classselect],
|
||||||
|
na.rm=T)-sum(journ$Debit[journ$Class %in% classselect],
|
||||||
|
na.rm=T)
|
||||||
return(net)
|
return(net)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,8 +60,6 @@ for (i in 1:length(classes))
|
|||||||
na.rm=T)-sum(journal$Debit[journal$Class==classes[i]],
|
na.rm=T)-sum(journal$Debit[journal$Class==classes[i]],
|
||||||
na.rm=T))
|
na.rm=T))
|
||||||
}
|
}
|
||||||
# Identify empty class
|
|
||||||
net.byclass$Class[net.byclass$Class==""] <- "Unclassified"
|
|
||||||
# Add total net row
|
# Add total net row
|
||||||
net.byclass[nrow(net.byclass)+1,]<-c("Total",net.calc(journal))
|
net.byclass[nrow(net.byclass)+1,]<-c("Total",net.calc(journal))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user