Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/masnick/beautify-gem
Pretty output of Stata tables powered by Ruby
https://github.com/masnick/beautify-gem
Last synced: 3 months ago
JSON representation
Pretty output of Stata tables powered by Ruby
- Host: GitHub
- URL: https://github.com/masnick/beautify-gem
- Owner: masnick
- License: mit
- Created: 2011-12-21T18:03:42.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2012-02-28T18:11:06.000Z (over 12 years ago)
- Last Synced: 2024-02-12T02:07:10.054Z (9 months ago)
- Language: Ruby
- Homepage:
- Size: 227 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
_ _ _ __
| |__ ___ __ _ _ _| |_(_)/ _|_ _
| '_ \ / _ \/ _` | | | | __| | |_| | | |
| |_) | __/ (_| | |_| | |_| | _| |_| |
|_.__/ \___|\__,_|\__,_|\__|_|_| \__, |
|___/**beautify** is a Ruby helper that makes it easy to export attractive
tables from [Stata].[Stata]: http://www.stata.com/
It can take something like this:
And turn it into something like this:
Features
--------- **beautify** keeps your Stata code nice and clean:
```
webuse citytemp2, clear// Beautify setup
do beautify.do
beautify_init, filename("output.txt") byvariable("region")// Make some pretty tables...
tab2out agecat, l("agecat")// Beautify output
shell beautify stata --data output.txt --template template.yaml --output ./
```- **beautify** is smart enough to use the variable and value labels in
your dataset so you only have to label your data once.
- The HTML output from **beautify** is nicely formatted and properly
paged for printing.Technology
----------It relies on the following technology:
- Stata 10 or newer
- Ruby >= 1.9.2
- [rubygems]
- [bundler]
- HTML/Javascript/CSS for rendering pretty tables (Google Chrome is
best for viewing the `.html` file created by `beautify`).[rubygems]: http://rubygems.org/pages/download
[bundler]: http://gembundler.com/Available commands
==================tab1out
-------Equivalent to Stata's `tabulate oneway` command.
`tab1out agecat, l("agecat")` creates:
tab2out
-------Equivalent to Stata's `tabulate twoway` command.
`tab2out agecat, l("agecat_region")` creates:
floatsummary
------------Equivalent to Stata's `summarize` command. Table columns are grouped
by the `byvariable`.`floatsummary tempjan, l("tempjan")` creates:
tabmultout
----------A multivariable version of the `floatsummary` command for creating
compact tables of summary statistics and statistical significance.`tabmultout temp*, l("mult")` creates:
How to use
==========You should already have a Stata `.do` file that's running some
commands with output you want to export into a prettier format.Step 0: Install beautify
--------------------------Make sure you have Ruby first. You can type `ruby -v` at the command line
to check if it's installed. You should see something like:ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
You'll need at least v1.9.2.
If you don't have Ruby installed or your version is too old, there is
an [installer for Windows](http://rubyinstaller.org/). On Mac, the best
thing to do is [use rbenv](https://github.com/masnick/beautify-gem/wiki/Installing-Ruby-on-Mac).`beautify` is not currently on rubygems, so you'll need manually
download and install it.First, download the most recent `.gem` from [github][dl]. It's the file called
`beautify-x.x.x.gem` under "Download Packages".Then run the following at the command prompt:
gem install /path/to/beautify-X.X.X.gem
If you're on Windows and get an error while installing Psych, you should
[follow these instructions](https://github.com/masnick/beautify-gem/wiki/Installing-psych-on-Windows).[dl]: https://github.com/masnick/beautify-gem/downloads
Step 1: Bootstrap
-----------------`beautify` relies on a Stata `.do` file to add some functionality to
Stata. You can get this file by running the following at the command
line:beautify bootstrap --output /path/to/your/do/file
This will save a file named `beautify.do` in the output directory you
specify.Step 2: Modifying your .do file
---------------------------------You will need to add the following to the top of your `.do` file:
do beautify.do
beautify_init, filename("output.txt") byvariable("group")You can change `group` to any integer variable. This is the second
variable that `beautify` will use in two-way tables (e.g. `tab2out`).Then, add the following to the end of your `.do` file:
shell beautify stata --data /path/to/output.txt --template /path/to/template.yml --output /path/to/output/folder
If you use `bash` instead of `zsh`, replace `.zshrc` with
`.bash_profile` or whatever has the `$PATH` declaration for `rbenv`.If you use [rbenv], use the following instead:
shell source /path/to/.zshrc && beautify stata --data /path/to/output.txt --template /path/to/template.yml --output /path/to/output/folder
[rbenv]: https://github.com/sstephenson/rbenv
Step 3: Setting up a template.yml file
----------------------------------------`beautify` uses a [YAML] template file to make the pretty version of
your Stata output.[YAML]: http://en.wikipedia.org/wiki/Yaml
The YAML file should follow this format:
title: title here
subtitle: subtitle here
content:
- section: "Section name"
items:
- heading: "Subsection name heading"
items:
- name: "Table name"
description: "Table description"
content: name_of_content_in_stataExample
=======You can see a functional example of `beautify`
at https://github.com/masnick/beautify-gem/tree/master/example.License
=======Copyright 2012 Duke University. All rights reserved.