rvisidata
rvisidata copied to clipboard
Open any dataframe with visidata, a terminal-based spreadsheet application
rvisidata ![](https://github.com/paulklemm/rvisidata/raw/master/hexsticker/rvisidata_hexsticker.png)
The goal of rvisidata is to combine the power of Visidata, "A Swiss Army Chainsaw for Data", with R
.
VisiData is an interactive multitool for tabular data. It combines the clarity of a spreadsheet, the efficiency of the terminal, and the power of Python, into a lightweight utility which can handle millions of rows with ease.
Installation
Visidata
You need to have Visidata installed. Please follow the official installation instructions provided here.
To verify visidata is installed correctly, vd --version
should print out the installed version.
Package
rvisidata is available on CRAN.
install.packages("rvisidata")
Example
vd(iris)
Options
This package supports integration with tmux
.
The default behavior is to open vd
in a vertical pane above the current pane, if R is running in a tmux
session.
To disable this, set:
options(rvisidata.tmux = FALSE)
Advanced
To customize the way tmux
sets up this workspace (For example, opening vd
in a new window rather than pane), you
may supply your own shell script that invokes vd
on your dataset.
Set:
options(rvisidata.tmux = "path/to/your/script")
Your script should take one argument, the filename to be opened.
For example, the following will open your dataframe in a vertical split above the R console window, and return focus back to R:
#!/bin/bash
filename=$1
tmux split-window -vb -p 70 "vd $filename" \; \
select-pane -l
How it Works
Internally, rvisidata
writes the data frame as a csv
file to a temporary folder and then loads it with visidata
. Be therefore careful with very large data frames, because the writing process can take a while. It will delete the temporary file after the visidata
session is closed.
I do not claim that this implementation is efficient or elegant. But it works. Suggestions for making it faster are very welcome.
Limitations
This tool opens the data frame and discards any changes you make for two reasons: (1) you should do your data manipulation in R
to have a reproducible analysis workflow and (2) it is easier to implement this way 😇.
Credits
Visidata is designed and developed by Saul Pwanson (official GitHub repository).