Improve net() with class selection

Rename blank class as "unclassified"
This commit is contained in:
Matt
2016-04-08 13:56:04 -05:00
parent 97c352ae60
commit 391f1a2bed

View File

@ -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))