From e4ed723c6238f70248b2f2ddb52f3e4afc98f4fc Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 13 Apr 2016 07:35:03 -0500 Subject: [PATCH] Build net.class() function. --- working.Rmd | 52 +++++++++++++++++++--------------------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/working.Rmd b/working.Rmd index 51a97e5..b2cfbbb 100644 --- a/working.Rmd +++ b/working.Rmd @@ -35,7 +35,7 @@ journal$Credit<-as.numeric(sub(",","",journal$Credit)) ## Temp function location # 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"){ if("all" %in% classselect) { classselect<-levels(journ$Class) @@ -48,46 +48,32 @@ net<-function(journ,classselect="all",dates="all"){ na.rm=T) return(net) } +########## -# Net by class and date range -# TODO should be function that uses the net function above +########## Net table by class +net.class<-function(journ,classselect="all",dates="all",total=F) { # List of classes -classes<-levels(journal$Class) + if("all" %in% classselect) { + classselect<-levels(journ$Class) + } # Set up data frame -net.byclass<-data.frame(Class=character(), +net.class.out<-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]), sum(journal$Credit[journal$Class==classes[i]], na.rm=T) - sum(journal$Debit[journal$Class==classes[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]), +for (i in 1:length(classselect)) { + net.class.out[i,] <- c(classselect[i], net(journal, - classes[i], - "all"), - na.rm=T) -} + classselect[i], + "all")) + } # 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) +} +##########