snapshot
This commit is contained in:
@ -39,16 +39,23 @@ net.calc<-function(journ){
|
|||||||
|
|
||||||
# Net by class and date range
|
# Net by class and date range
|
||||||
# TODO should be function that uses the net function above
|
# TODO should be function that uses the net function above
|
||||||
|
# List of classes
|
||||||
classes<-levels(journal$Class)
|
classes<-levels(journal$Class)
|
||||||
|
# Set up data frame
|
||||||
net.byclass<-data.frame(Class=character(),
|
net.byclass<-data.frame(Class=character(),
|
||||||
Net=numeric(),
|
Net=numeric(),
|
||||||
stringsAsFactors=FALSE)
|
stringsAsFactors=FALSE)
|
||||||
|
# Loop through classes, calculate net, and add to data frame
|
||||||
for (i in 1:length(classes))
|
for (i in 1:length(classes))
|
||||||
{ net.byclass[i,] <- c(as.character(classes[i]),
|
{ net.byclass[i,] <- c(as.character(classes[i]),
|
||||||
sum(journal$Credit[journal$Class==classes[i]],
|
sum(journal$Credit[journal$Class==classes[i]],
|
||||||
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
|
||||||
|
net.byclass[nrow(net.byclass)+1,]<-c("Total",net.calc(journal))
|
||||||
|
|
||||||
# See other reports in QB and Ledger
|
# See other reports in QB and Ledger
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user