Clean some things up and get ready for Shiny.
This commit is contained in:
		
							
								
								
									
										26
									
								
								ledgerr-shiny/server.R
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								ledgerr-shiny/server.R
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
#
 | 
			
		||||
# This is the server logic of a Shiny web application. You can run the 
 | 
			
		||||
# application by clicking 'Run App' above.
 | 
			
		||||
#
 | 
			
		||||
# Find out more about building applications with Shiny here:
 | 
			
		||||
# 
 | 
			
		||||
#    http://shiny.rstudio.com/
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
library(shiny)
 | 
			
		||||
 | 
			
		||||
# Define server logic required to draw a histogram
 | 
			
		||||
shinyServer(function(input, output) {
 | 
			
		||||
   
 | 
			
		||||
  output$distPlot <- renderPlot({
 | 
			
		||||
    
 | 
			
		||||
    # generate bins based on input$bins from ui.R
 | 
			
		||||
    x    <- faithful[, 2] 
 | 
			
		||||
    bins <- seq(min(x), max(x), length.out = input$bins + 1)
 | 
			
		||||
    
 | 
			
		||||
    # draw the histogram with the specified number of bins
 | 
			
		||||
    hist(x, breaks = bins, col = 'darkgray', border = 'white')
 | 
			
		||||
    
 | 
			
		||||
  })
 | 
			
		||||
  
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										33
									
								
								ledgerr-shiny/ui.R
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								ledgerr-shiny/ui.R
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
#
 | 
			
		||||
# This is the user-interface definition of a Shiny web application. You can
 | 
			
		||||
# run the application by clicking 'Run App' above.
 | 
			
		||||
#
 | 
			
		||||
# Find out more about building applications with Shiny here:
 | 
			
		||||
# 
 | 
			
		||||
#    http://shiny.rstudio.com/
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
library(shiny)
 | 
			
		||||
 | 
			
		||||
# Define UI for application that draws a histogram
 | 
			
		||||
shinyUI(fluidPage(
 | 
			
		||||
  
 | 
			
		||||
  # Application title
 | 
			
		||||
  titlePanel("Old Faithful Geyser Data"),
 | 
			
		||||
  
 | 
			
		||||
  # Sidebar with a slider input for number of bins 
 | 
			
		||||
  sidebarLayout(
 | 
			
		||||
    sidebarPanel(
 | 
			
		||||
       sliderInput("bins",
 | 
			
		||||
                   "Number of bins:",
 | 
			
		||||
                   min = 1,
 | 
			
		||||
                   max = 50,
 | 
			
		||||
                   value = 30)
 | 
			
		||||
    ),
 | 
			
		||||
    
 | 
			
		||||
    # Show a plot of the generated distribution
 | 
			
		||||
    mainPanel(
 | 
			
		||||
       plotOutput("distPlot")
 | 
			
		||||
    )
 | 
			
		||||
  )
 | 
			
		||||
))
 | 
			
		||||
							
								
								
									
										20
									
								
								working.Rmd
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								working.Rmd
									
									
									
									
									
								
							@@ -9,12 +9,17 @@ output: html_document
 | 
			
		||||
knitr::opts_chunk$set(echo = TRUE)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Should use this document for actual operations and keep actual functions in another document for the public [GitHub repo](https://github.com/mattbk/ledgerr). Shiny will be set up at https://www.shinyapps.io/admin/#/dashboard.
 | 
			
		||||
 | 
			
		||||
```{r}
 | 
			
		||||
# Use https://github.com/maxconway/gsheet
 | 
			
		||||
library(gsheet)
 | 
			
		||||
 | 
			
		||||
# Use the functions in ledgerr (the package that is part of this project) but don't load the package itself--this will let us deploy to Shiny.io more easily.
 | 
			
		||||
library(R.utils) #for sourceDirectory()
 | 
			
		||||
sourceDirectory("ledgerr/R")
 | 
			
		||||
 | 
			
		||||
# For Shiny
 | 
			
		||||
library(rsconnect)
 | 
			
		||||
 | 
			
		||||
# Pull Google sheet locations from another file (journal1, journal2, etc.)
 | 
			
		||||
source("config.R")
 | 
			
		||||
 | 
			
		||||
@@ -39,15 +44,18 @@ journal$Credit<-as.numeric(sub(",","",journal$Credit))
 | 
			
		||||
 | 
			
		||||
################# work in progress
 | 
			
		||||
 | 
			
		||||
# This could replace net.acc, check numbers
 | 
			
		||||
## This could replace net.acc, check numbers
 | 
			
		||||
a<-aggregate(cbind(Credit,Debit=-Debit)~Account,data=journal,function(x) sum(x, na.rm=TRUE),na.action="na.pass")
 | 
			
		||||
# Select by class (modify to include dates)
 | 
			
		||||
#a<-aggregate(cbind(Credit,Debit=-Debit)~Account,data=journal[journal$Class %in% "Bikecicle",],function(x) sum(x, na.rm=TRUE),na.action="na.pass")
 | 
			
		||||
# na.pass: http://stackoverflow.com/a/16844940/2152245
 | 
			
		||||
# This is a column rename on the fly: "Debit=-Debit"
 | 
			
		||||
# Calculate net column
 | 
			
		||||
a$Net<-rowSums(a[,2:3],na.rm=T)
 | 
			
		||||
# Calculate total--need to clean up
 | 
			
		||||
colSums(a[-1])
 | 
			
		||||
 | 
			
		||||
# This is a column rename on the fly: "Debit=-Debit"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# This could replace net.class, check numbers
 | 
			
		||||
a<-aggregate(cbind(Credit,Debit=-Debit)~Class,data=journal,function(x) sum(x, na.rm=TRUE),na.action="na.pass")
 | 
			
		||||
@@ -56,9 +64,5 @@ a$Net<-rowSums(a[,2:3],na.rm=T)
 | 
			
		||||
# Calculate total--need to clean up
 | 
			
		||||
colSums(a[-1])
 | 
			
		||||
 | 
			
		||||
# This could also replace net.class if in the right layout (http://nicercode.github.io/guides/repeating-things/)
 | 
			
		||||
class.split<-split(journal,journal$Class)
 | 
			
		||||
sapply(class.split, net)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
		Reference in New Issue
	
	Block a user