Build net.class() function.
This commit is contained in:
52
working.Rmd
52
working.Rmd
@ -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)
|
||||||
|
}
|
||||||
|
##########
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user