Build net.class() function.
This commit is contained in:
		
							
								
								
									
										48
									
								
								working.Rmd
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								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) {
 | 
				
			||||||
# Set up data frame
 | 
					    classselect<-levels(journ$Class)
 | 
				
			||||||
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]),  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
 | 
					# 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]),
 | 
					  net.class.out[i,] <- c(classselect[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