Files
ledgerr/working.Rmd
Matt f3a565aa98 Move Shiny files to project root
Can't reference legderr files unless they are within the Shiny app folder. This project gets weirder and weirder, will probably need to be split eventually.
2016-04-14 16:16:07 -05:00

76 lines
2.1 KiB
Plaintext

---
title: "Untitled"
author: "Matt"
date: "April 7, 2016"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{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")
# Pull Google sheet locations from another file (journal1, journal2, etc.)
source("config.R")
# Combine bank accounts
journal<-rbind(journal1,journal2)
## Clean up
# Date is date
journal$Date<-as.Date(journal$Date,format="%m/%d/%Y")
# Replace empty classes and accounrs
journal$Class[journal$Class==""]<-c("unclassified")
journal$Account[journal$Account==""]<-c("unclassified")
# Class, Accounts are factors
journal$Class<-as.factor(journal$Class)
journal$Account<-as.factor(journal$Account)
# Empty class should be NA
# Debit and Credit are numeric, without commas
journal$Debit<-as.numeric(sub(",","",journal$Debit))
journal$Credit<-as.numeric(sub(",","",journal$Credit))
# See other reports in QB and Ledger
################# work in progress
## 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 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")
# Calculate net column
a$Net<-rowSums(a[,2:3],na.rm=T)
# Calculate total--need to clean up
colSums(a[-1])
```
```{r deploy}
# See Shiny documentation for authorizing computer to deploy to shiny.io.
# For Shiny
library(rsconnect)
# Deploy
deployApp()
```