To begin, make sure civis
is installed and your
API key is in your R environment.
You can quickly test that civis
is working by invoking
name <- civis::users_list_me()$name paste(name, "is really awesome!")
If civis
is working, you'll see a friendly message. Otherwise, you might see an
error like this when civis
wasn't installed properly:
Error in loadNamespace(name) : there is no package called 'civis'
or like this if you haven't set your API key correctly:
Error in api_key() : The environmental variable CIVIS_API_KEY is not set. Add this to your .Renviron or call Sys.setenv(CIVIS_API_KEY = '<api_key>')
With civis
, moving data to and from the cloud takes only a few lines of code.
Your data can be stored as rows in a table, CSVs on remote file system or even
as serialized R objects like nested lists. For example,
library(civis) # First we'll load a dataframe of the famous iris dataset data(iris) # We'll set a default database and define the table where want to # store our data options(civis.default_db = "my_database") iris_tablename <- "my_schema.my_table" # Next we'll push the data to the database table write_civis(iris, iris_tablename) # Great, now let's read it back df <- read_civis(iris_tablename) # Hmmm, I'm more partial to setosa myself. Let's write a custom sql query. # We'll need to wrap our query string in `sql` to let read_civis know we # are passing in a sql command rather than a tablename. query_str <- paste("SELECT * FROM", iris_tablename, "WHERE Species = 'setosa'") iris_setosa <- read_civis(sql(query_str)) # Now let's store this data along with a note as a serialized R object # on a remote file system. We could store any object remotely this way. data <- list(data = iris_setosa, special_note = "The best iris species") file_id <- write_civis_file(data) # Finally, let's read back our data from the remote file system. data2 <- read_civis(file_id) data2[["special_note"]] ## [1] "The best iris species"
civis
also includes functionality for working with CivisML, Civis' machine
learning ecosystem. With the combined power of CivisML and civis
, you can build
models in the cloud where the models can use as much memory as they need and
there’s no chance of your laptop crashing.
library(civis) # It really is a great dataset data(iris) # Gradient boosting or random forest, who will win? gb_model <- civis_ml_gradient_boosting_classifier(iris, "Species") rf_model <- civis_ml_random_forest_classifier(iris, "Species") macroavgs <- list(gb_model = gb_model$metrics$metrics$roc_auc_macroavg, rf_model = rf_model$metrics$metrics$roc_auc_macroavg) macroavgs ## $gb_model ## [1] 0.9945333 ## ## $rf_model ## [1] 0.9954667
For a comprehensive list of functions in civis
, see
Reference in the full
documentation. The full documentation also
includes a set of Articles
for detailed documentation on common workflows, including
data manipulation and building models in parallel.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.