Build net.class() function.

This commit is contained in:
Matt
2016-04-13 07:35:03 -05:00
parent 7712168b2d
commit e4ed723c62

View File

@ -35,7 +35,7 @@ journal$Credit<-as.numeric(sub(",","",journal$Credit))
## Temp function location ## Temp function location
# TODO learn where to store functions # TODO learn where to store functions
# net() function, takes journal, class name(s), and date range as arguments ########## net() function, takes journal, class name(s), and date range as arguments
net<-function(journ,classselect="all",dates="all"){ net<-function(journ,classselect="all",dates="all"){
if("all" %in% classselect) { if("all" %in% classselect) {
classselect<-levels(journ$Class) classselect<-levels(journ$Class)
@ -48,46 +48,32 @@ net<-function(journ,classselect="all",dates="all"){
na.rm=T) na.rm=T)
return(net) return(net)
} }
##########
# Net by class and date range ########## Net table by class
# TODO should be function that uses the net function above net.class<-function(journ,classselect="all",dates="all",total=F) {
# List of classes # List of classes
classes<-levels(journal$Class) if("all" %in% classselect) {
classselect<-levels(journ$Class)
}
# Set up data frame # Set up data frame
net.byclass<-data.frame(Class=character(), net.class.out<-data.frame(Class=character(),
Net=numeric(), Net=numeric(),
stringsAsFactors=FALSE) stringsAsFactors=FALSE)
# Loop through classes, calculate net, and add to data frame # Loop through classes, calculate net, and add to data frame
for (i in 1:length(classes)) for (i in 1:length(classselect)) {
{ net.byclass[i,] <- c(as.character(classes[i]), sum(journal$Credit[journal$Class==classes[i]], na.rm=T) - sum(journal$Debit[journal$Class==classes[i]], net.class.out[i,] <- c(classselect[i],
na.rm=T))
}
# Add total net row
net.byclass[nrow(net.byclass)+1,]<-c("Total",net(journal))
# work in progress ###############
# Net by class and date range
# TODO should be function that uses the net function above
# List of classes
classes<-levels(journal$Class)
# Set up data frame
net.byclass<-data.frame(Class=character(),
Net=numeric(),
stringsAsFactors=FALSE)
# Loop through classes, calculate net, and add to data frame
for (i in 1:length(classes))
{ net.byclass[i,] <- c(as.character(classes[i]),
net(journal, net(journal,
classes[i], classselect[i],
"all"), "all"))
na.rm=T) }
}
# Add total net row # Add total net row
net.byclass[nrow(net.byclass)+1,]<-c("Total",net(journal)) if(total) {
net.class.out[nrow(net.class.out)+1,]<-c("Total",net(journal))
############## }
return(net.class.out)
}
##########