-
Converts table from current SAS session into a R data.frame
. Translation
-errors may occur.
+
Converts table from current SAS session into a R data.frame
.
@@ -52,16 +50,27 @@
Argumentstable_name
-Name of table in SAS.
+string; Name of table in SAS.
libref
-Name of libref SAS table is stored within.
+string; Name of libref SAS table is stored within.
Value
-
R data.frame
.
+
data.frame
of the specified SAS table.
+
+
+
Details
+
SAS only has two data types (numeric and character). Data types are converted
+as follows:
In the conversion process dates and datetimes are converted to local
+time. If utilizing another timezone, use as.POSIXct()
or
+lubridate::with_tz()
to convert back to the desired time zone.
diff --git a/search.json b/search.json
index 7f28a0d..b3ba816 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to sasquatch","title":"Contributing to sasquatch","text":"outlines propose change sasquatch. detailed discussion contributing tidyverse packages, please see development contributing guide code review principles.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to sasquatch","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to sasquatch","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed). See guide create great issue advice.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to sasquatch","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"ryanzomorrodi/sasr\", fork = TRUE). Install development dependencies devtools::install_dev_deps(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to sasquatch","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to sasquatch","text":"Please note sasquatch project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2024 sasquatch authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html","id":"registration","dir":"Articles","previous_headings":"","what":"Registration","title":"Setting Up","text":"SAS ODA free SAS client professors, students, independent learners. Create account https://welcome.oda.sas.com/. set account, log note ODA server (picture United States 2) username (email profile dropdown). need later.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Setting Up","text":"Install sasquatch R package GitHub: Make sure Python installed system. can download Python Software Foundation, use install_python() reticulate: Use install_saspy() function install SASPy. automatically create isolated virtual environment called “r-saspy”. Make sure Java installed system. can download Java website. Note Java installation path.","code":"# install.packages(\"pak\") pak::pkg_install(\"ryanzomorrodi/sasquatch\") reticulate::install_python() sasquatch::install_saspy(envname = \"r-saspy\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html","id":"configuration","dir":"Articles","previous_headings":"","what":"Configuration","title":"Setting Up","text":"Set SAS ODA super easy. Run config_saspy() follow prompts (may need recall username, server, java installation path earlier).","code":"sasquatch::configure_saspy(template = \"oda\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html","id":"rstudio","dir":"Articles","previous_headings":"Configuration","what":"RStudio","title":"Setting Up","text":"Within RStudio, able run SAS chunks chunk. However, want able view SAS output within Viewer instead beneath chunk, can utilize sas_run_selected() addin. add keyboard shortcut addin, open Tools -> Modify Keyboard Shortcuts search “Run selected SAS”, type box Shortcut set keyboard shortcut liking click Apply.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html","id":"positron","dir":"Articles","previous_headings":"Configuration","what":"Positron","title":"Setting Up","text":"Within Positron, able run SAS chunks R Python chunks. However, just RStudio, can create keyboard shortcut allow view SAS output within Plots pane. Open command palette ctrl+shift+p command+shift+p search “Preferences: Open Keyboard Shortcuts (JSON)”. Add following shortcuts. Edit key argument set preferred shortcut.","code":"{ \"key\": \"ctrl+shift+enter\", \"command\": \"workbench.action.executeCode.console\", \"when\": \"editorTextFocus\", \"args\": { \"langId\": \"r\", \"code\": \"sasquatch::sas_run_selected()\", \"focus\": true } }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ryan Zomorrodi. Author, maintainer, copyright holder.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Zomorrodi R (2024). sasquatch: Use 'SAS', R, 'quarto' Together. R package version 0.0.0.9017, https://github.com/ryanzomorrodi/sasr, https://ryanzomorrodi.github.io/sasquatch/.","code":"@Manual{, title = {sasquatch: Use 'SAS', R, and 'quarto' Together}, author = {Ryan Zomorrodi}, year = {2024}, note = {R package version 0.0.0.9017, https://github.com/ryanzomorrodi/sasr}, url = {https://ryanzomorrodi.github.io/sasquatch/}, }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"sasquatch","dir":"","previous_headings":"","what":"Use SAS, R, and quarto Together","title":"Use SAS, R, and quarto Together","text":"Use SAS, R, Quarto Together sasquatch allows combine power R, SAS, quarto together create reproducible multilingual reports. sasquatch can run SAS code blocks interactively, send data back forth SAS R, render SAS HTML output within quarto documents. sasquatch relies SASPy Python package. … Don’t SASPy already installed, Don’t SAS License Check vignette(\"setting_up\") guidance get started free SAS Demand Academics license (don’t need academic!).","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Use SAS, R, and quarto Together","text":"can install development version sasquatch like :","code":"# install.packages(\"pak\") pak::pkg_install(\"ryanzomorrodi/sasquatch\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Use SAS, R, and quarto Together","text":"setup SASPy connected right python environment using reticulate (necessary), can create quarto document like , call sas_connect(), just get going!","code":"--- format: html engine: knitr --- ```{r} library(sasquatch) sas_connect() ``` ```{sas} ```"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"code-blocks","dir":"","previous_headings":"Usage","what":"Code blocks","title":"Use SAS, R, and quarto Together","text":"Now, able run SAS code blocks RStudio like .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"sending-output-to-viewer","dir":"","previous_headings":"Usage","what":"Sending output to viewer","title":"Use SAS, R, and quarto Together","text":"want send SAS output viewer, can utilize sas_run_selected() addin custom shortcut.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"converting-tables","dir":"","previous_headings":"Usage","what":"Converting tables","title":"Use SAS, R, and quarto Together","text":"Pass tables R SAS r_to_sas() sas_to_r().","code":"r_to_sas(mtcars, \"mtcars\") cars <- sas_to_r(\"cars\", libref = \"sashelp\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"rendering-quarto-documents","dir":"","previous_headings":"Usage","what":"Rendering quarto documents","title":"Use SAS, R, and quarto Together","text":"course, render beautiful quarto documents style expect SAS sas_engine().","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"similar-packages","dir":"","previous_headings":"","what":"Similar packages","title":"Use SAS, R, and quarto Together","text":"saquatch works similarly packages like sasr configSAS. fact, configSAS author Johann Laurent’s talk useR! event inspired sasquatch’s creation. sasr, similar sasquatch, include interactive SAS functionality knitr engine. hand, configSAS includes knitr engine, interactive SAS functionality. configSAS knitr output also include syntax highlighting nested SAS output interferes styles rest document.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":null,"dir":"Reference","previous_headings":"","what":"Configure SASPy package — configure_saspy","title":"Configure SASPy package — configure_saspy","text":"Adds sascfg_personal.py authinfo files prefills relevant info according specified template.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Configure SASPy package — configure_saspy","text":"","code":"configure_saspy(template = c(\"none\", \"oda\"))"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Configure SASPy package — configure_saspy","text":"template Default template base configuration files .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Configure SASPy package — configure_saspy","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Configure SASPy package — configure_saspy","text":"","code":"if (FALSE) { # \\dontrun{ config_saspy() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":null,"dir":"Reference","previous_headings":"","what":"Install SASPy package — install_saspy","title":"Install SASPy package — install_saspy","text":"Installs SASPy package within virtual environment.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install SASPy package — install_saspy","text":"","code":"install_saspy( envname = \"r-saspy\", extra_packages = NULL, restart_session = TRUE )"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install SASPy package — install_saspy","text":"envname Name virtual environment install SASPy within. extra_packages Additional packages install. restart_session Restart session?","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Install SASPy package — install_saspy","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install SASPy package — install_saspy","text":"","code":"if (FALSE) { # \\dontrun{ install_saspy() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert R table to SAS — r_to_sas","title":"Convert R table to SAS — r_to_sas","text":"Converts R table table current SAS session. Translation errors may occur.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert R table to SAS — r_to_sas","text":"","code":"r_to_sas(x, table_name, libref = \"WORK\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert R table to SAS — r_to_sas","text":"x R table table_name Name table created SAS. libref Name libref store SAS table within.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert R table to SAS — r_to_sas","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert R table to SAS — r_to_sas","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() r_to_sas(mtcars, \"mtcars\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":null,"dir":"Reference","previous_headings":"","what":"Establish SAS session — sas_connect","title":"Establish SAS session — sas_connect","text":"Starts SAS session. required anything!","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Establish SAS session — sas_connect","text":"","code":"sas_connect(config)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Establish SAS session — sas_connect","text":"config Configuration use SAS_config_names list sascfg_personal.py.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Establish SAS session — sas_connect","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Establish SAS session — sas_connect","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect(config = \"oda\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":null,"dir":"Reference","previous_headings":"","what":"Disconnect SAS session — sas_disconnect","title":"Disconnect SAS session — sas_disconnect","text":"Disconnects current SAS session.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Disconnect SAS session — sas_disconnect","text":"","code":"sas_disconnect()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Disconnect SAS session — sas_disconnect","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Disconnect SAS session — sas_disconnect","text":"","code":"if (FALSE) { # \\dontrun{ sas_disconnect() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html","id":null,"dir":"Reference","previous_headings":"","what":"Download a file from SAS — sas_download","title":"Download a file from SAS — sas_download","text":"Downloads file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download a file from SAS — sas_download","text":"","code":"sas_download(sas_path, local_path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download a file from SAS — sas_download","text":"sas_path Path file remote SAS server download local_path Path upload SAS file local machine.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download a file from SAS — sas_download","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download a file from SAS — sas_download","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() # upload document to SAS quarto_file <- system.file(\"sasquatch.qmd\", package = \"sasquatch\") sas_upload(quarto_file, \"sasquatch.qmd\") # download document from SAS sas_download(\"sasquatch.qmd\", \"sasquatch.qmd\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":null,"dir":"Reference","previous_headings":"","what":"A SAS HTML5 engine for knitr — sas_engine","title":"A SAS HTML5 engine for knitr — sas_engine","text":"SAS HTML5 engine knitr","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A SAS HTML5 engine for knitr — sas_engine","text":"","code":"sas_engine(options)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A SAS HTML5 engine for knitr — sas_engine","text":"options Options knitr.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A SAS HTML5 engine for knitr — sas_engine","text":"knitr engine output.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"A SAS HTML5 engine for knitr — sas_engine","text":"activated running library(sasquatch)","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"supported-knitr-chunk-options","dir":"Reference","previous_headings":"","what":"Supported knitr chunk options","title":"A SAS HTML5 engine for knitr — sas_engine","text":"sasquatch's engine implements may options R engine knitr, . eval (Default: TRUE): Evaluate code chunk (false, just echos code output) echo (Default: TRUE): Include source code output output (Default: TRUE): Include results executing code output (TRUE FALSE). include (Default: TRUE): Include output (code results). capture (Default: \"\"): \"\", tabpanel output log included. \"lst\", output included. \"log\" log included.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A SAS HTML5 engine for knitr — sas_engine","text":"","code":"knitr::knit_engines$set(sas = sas_engine)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":null,"dir":"Reference","previous_headings":"","what":"Get current SAS session — sas_get_session","title":"Get current SAS session — sas_get_session","text":"Gets current SAS session can use functions yet implemented. Can also useful testing using Python.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get current SAS session — sas_get_session","text":"","code":"sas_get_session()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get current SAS session — sas_get_session","text":"Current SAS session.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get current SAS session — sas_get_session","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_get_session() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":null,"dir":"Reference","previous_headings":"","what":"List contents of a SAS directory — sas_list","title":"List contents of a SAS directory — sas_list","text":"Lists files directories directory within remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List contents of a SAS directory — sas_list","text":"","code":"sas_list(path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List contents of a SAS directory — sas_list","text":"path Path directory remote SAS server list contents .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List contents of a SAS directory — sas_list","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List contents of a SAS directory — sas_list","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_list(\".\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html","id":null,"dir":"Reference","previous_headings":"","what":"Delete a file or directory from SAS — sas_remove","title":"Delete a file or directory from SAS — sas_remove","text":"Deletes file directory remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Delete a file or directory from SAS — sas_remove","text":"","code":"sas_remove(path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Delete a file or directory from SAS — sas_remove","text":"path Path file remote SAS server deleted.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Delete a file or directory from SAS — sas_remove","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Delete a file or directory from SAS — sas_remove","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() # upload document to SAS quarto_file <- system.file(\"sasquatch.qmd\", package = \"sasquatch\") sas_upload(quarto_file, \"sasquatch.qmd\") # remove document from SAS sas_remove(\"sasquatch.qmd\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute SAS file — sas_run_file","title":"Execute SAS file — sas_run_file","text":"Execute SAS file render html output save output html log.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute SAS file — sas_run_file","text":"","code":"sas_run_file(input_path, output_path, overwrite = FALSE)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execute SAS file — sas_run_file","text":"input_path Path SAS file run. output_path Optional path save html output (log file named ). overwrite Can output overwrite prior output?","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute SAS file — sas_run_file","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute SAS file — sas_run_file","text":"","code":"if (FALSE) { # \\dontrun{ cat(\"PROC MEANS DATA = sashelp.cars;\\n RUN;\", file = \"test.sas\") sas_connect() sas_run_file(\"test.sas\", \"test.html\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute selected SAS code — sas_run_selected","title":"Execute selected SAS code — sas_run_selected","text":"Execute selected SAS code current session render html output SAS widget.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute selected SAS code — sas_run_selected","text":"","code":"sas_run_selected()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute selected SAS code — sas_run_selected","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute selected SAS code — sas_run_selected","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() # highlight something in the active editor of RStudio or Positron sas_run_selected() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute SAS code — sas_run_string","title":"Execute SAS code — sas_run_string","text":"Execute SAS code current session render html output.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute SAS code — sas_run_string","text":"","code":"sas_run_string(input)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execute SAS code — sas_run_string","text":"input String SAS code input run.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute SAS code — sas_run_string","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute SAS code — sas_run_string","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_run_string(\"PROC MEANS DATA = sashelp.cars;\\n RUN;\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert SAS table to R — sas_to_r","title":"Convert SAS table to R — sas_to_r","text":"Converts table current SAS session R data.frame. Translation errors may occur.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert SAS table to R — sas_to_r","text":"","code":"sas_to_r(table_name, libref = \"WORK\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert SAS table to R — sas_to_r","text":"table_name Name table SAS. libref Name libref SAS table stored within.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert SAS table to R — sas_to_r","text":"R data.frame.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert SAS table to R — sas_to_r","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() cars <- sas_to_r(\"cars\", \"sashelp\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html","id":null,"dir":"Reference","previous_headings":"","what":"Upload a file to SAS — sas_upload","title":"Upload a file to SAS — sas_upload","text":"Uploads file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Upload a file to SAS — sas_upload","text":"","code":"sas_upload(local_path, sas_path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Upload a file to SAS — sas_upload","text":"local_path Path file local machine uploaded. sas_path Path upload local file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Upload a file to SAS — sas_upload","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Upload a file to SAS — sas_upload","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() quarto_file <- system.file(\"sasquatch.qmd\", package = \"sasquatch\") sas_upload(quarto_file, \"sasquatch.qmd\") } # }"}]
+[{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to sasquatch","title":"Contributing to sasquatch","text":"outlines propose change sasquatch.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to sasquatch","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to sasquatch","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed). See tidyverse guide create great issue advice.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to sasquatch","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"ryanzomorrodi/sasquatch\", fork = TRUE). Install development dependencies devtools::install_dev_deps(). Install Python (recommend reticulate::install_python()) Java already installed. Configure SASPy using sasquatch::install_saspy(). access SAS client, recommend using SAS Demand Academics (SAS). Check vignette('configuration') information set SASPy ODA. Make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to sasquatch","text":"use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to sasquatch","text":"Please note sasquatch project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2024 sasquatch authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"general-configuration","dir":"Articles","previous_headings":"","what":"General configuration","title":"Configuration","text":"sasquatch works utilizing SASPy python package, similar packages like sasr configSAS. means everything connect R SAS, needs go SASPy. Configuration steps SASPy can vary greatly depending SAS client, configuration specified within sascfg_personal.py file inside SASPy package.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"setting-up","dir":"Articles","previous_headings":"General configuration","what":"Setting up","title":"Configuration","text":"Use following function create sascfg_personal.py templated file. create file like following: config_name arbirtary name configuration list SAS_config_names contains name(s) configuration(s).","code":"sasquatch::configure_saspy() SAS_config_names = ['config_name'] config_name = { }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"access-methods","dir":"Articles","previous_headings":"General configuration","what":"Access methods","title":"Configuration","text":", need fill config_name dictionary configuration definition. required definition fields depend access method required connect SAS client. following breakdown access method SAS deployment: STDIO - machine SSH (STDIO SSH) machine. works Mac OS . SSH (STDIO SSH)! Can’t get IOM COM - machine. Can’t get different machines IOM - local remote IOM COM - local remote HTTP - must compute service configured running (Viya V3.5 V4) STDIO - SSH machine (Viya V3 Compute Service existed, V4) HTTP - must compute service configured running (Viya V3.5 V4) HTTP - must compute service configured running (Viya V3.5 V4)","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"more-information","dir":"Articles","previous_headings":"General configuration","what":"More information","title":"Configuration","text":"documentation examples access type can found within SASPy configuration documentation","code":""},{"path":[]},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"registration","dir":"Articles","previous_headings":"SAS On Demand for Academics configuration","what":"Registration","title":"Configuration","text":"SAS Demand Academics (ODA) free SAS client professors, students, independent learners. Create account https://welcome.oda.sas.com/. set account, log note ODA server (picture United States 2) username (email profile dropdown). need later.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"java-installation","dir":"Articles","previous_headings":"SAS On Demand for Academics configuration","what":"Java installation","title":"Configuration","text":"ODA relies IOM access method, requires Java. Make sure Java installed system. can download Java website. Note Java installation path.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html","id":"configuration","dir":"Articles","previous_headings":"SAS On Demand for Academics configuration","what":"Configuration","title":"Configuration","text":"Set ODA super easy. Run config_saspy() follow prompts (may need recall username, server, java installation path earlier). config_saspy(template = \"oda\") create sascfg_personal.py file relevant configuration information create authinfo file, store ODA credentials. information ODA configuration can found ODA section SASPy configuration documentation.","code":"sasquatch::configure_saspy(template = \"oda\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"session-management","dir":"Articles","previous_headings":"","what":"Session management","title":"Getting Started","text":"Every sasquatch script starts sas_connect(). default, connected first SAS configuration (configurations see vignette(\"configuration\")). can also specify configuration name: ever need end connection, can using: connection information stored within saspy.sasbase.SASsession object. individuals, never need interact object, like implement functionality currently within sasquatch like access current session Python, can via:","code":"sas_connect() #> SAS Connection established. sas_connect(cfgname = \"my_config\") #> SAS Connection established. sas_disconnect() #> SAS Connection terminated. sas_get_session() #> Access Method = IOM #> SAS Config name = my_config #> SAS Config file = /home/user/.virtualenvs/r-saspy/lib/python3.12/site-packages/saspy/sascfg_personal.py #> WORK Path = /saswork/SAS_work0D3600010B4E_odaws01-usw2-2.oda.sas.com/SAS_work920700010B4E_odaws01-usw2-2.oda.sas.com/ #> SAS Version = 9.04.01M7P08062020 #> SASPy Version = 5.101.1 #> Teach me SAS = False #> Batch = False #> Results = Pandas #> SAS Session Encoding = utf-8 #> Python Encoding value = utf-8 #> SAS process Pid value = 68430 #> SASsession started = Wed Dec 25 13:58:22 2024"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"executing-sas-code","dir":"Articles","previous_headings":"","what":"Executing SAS code","title":"Getting Started","text":"can execute SAS code variety different ways. sas_run_*() functions generate htmlwidgets, display output log. execute string SAS code use sas_run_string() execute SAS script use sas_run_file()","code":"sas_run_string(\"PROC MEANS DATA = sashelp.cars;RUN;\") cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") sas_widget <- sas_run_file(\"script.sas\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"within-quarto","dir":"Articles","previous_headings":"Executing SAS code","what":"Within quarto","title":"Getting Started","text":"Quarto documents great way use SAS R together couple R SAS within single reproducable document. can create sasquatch quarto document : Specifying format html (currenly, html well supported) Specifying engine knitr Creating R code block library(sasquatch); sas_connect() Now, SAS code can contained within “sas” code blocks.","code":"--- format: html engine: knitr --- ```{r} library(sasquatch) sas_connect() ``` ```{sas} PROC MEANS DATA = sashelp.cars; RUN; ```"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"rstudio","dir":"Articles","previous_headings":"Executing SAS code > Within quarto","what":"RStudio","title":"Getting Started","text":"RStudio, able run SAS chunks chunk. want able view SAS output within Viewer instead beneath chunk, can utilize sas_run_selected() addin. add keyboard shortcut addin, open Tools -> Modify Keyboard Shortcuts search “Run selected SAS”, type box Shortcut set keyboard shortcut liking click Apply.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"positron","dir":"Articles","previous_headings":"Executing SAS code > Within quarto","what":"Positron","title":"Getting Started","text":"Positron, able run SAS chunks R Python chunks. However, just RStudio, can create keyboard shortcut allow view SAS output within Plots pane. Open command palette ctrl+shift+p command+shift+p search “Preferences: Open Keyboard Shortcuts (JSON)”. Add following shortcuts. Edit key argument set preferred shortcut.","code":"{ \"key\": \"ctrl+shift+enter\", \"command\": \"workbench.action.executeCode.console\", \"when\": \"editorTextFocus\", \"args\": { \"langId\": \"r\", \"code\": \"sasquatch::sas_run_selected()\", \"focus\": true } }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"data-conversion","dir":"Articles","previous_headings":"","what":"Data conversion","title":"Getting Started","text":"R data.frames can automatically converted SAS tables. However, data.frames must contain logical, integer, double, factor, character, POSIXct, Date class columns. Convert R data.frames SAS tables r_to_sas(). SAS two data types (numeric character). R data types converted follows: logical -> numeric integer -> numeric double -> numeric factor -> character character -> character POSIXct -> numeric (datetime) Date -> numeric (date) back SAS tables sas_to_r(). SAS data types converted follows: numeric -> double character -> character numeric (datetime) -> POSIXct numeric (date) -> POSIXct conversion process dates datetimes converted local time. utilizing another timezone, use .POSIXct() lubridate::with_tz() convert back desired time zone.","code":"df <- data.frame( double = c(1, 2.5, NA), integer = c(1:2, NA), logical = c(T, F, NA), character = c(\"a\", \"b\", NA), factor = factor(c(\"a\", \"b\", NA)), date = as.Date(\"2015-12-09\") + c(1:2, NA), datetime = as.POSIXct(\"2015-12-09 10:51:34.5678\", tz = \"UTC\") + c(1:2, NA) ) tibble::tibble(df) #> # A tibble: 3 × 7 #> double integer logical character factor date datetime #> #> 1 1 1 TRUE a a 2015-12-10 2015-12-09 10:51:35 #> 2 2.5 2 FALSE b b 2015-12-11 2015-12-09 10:51:36 #> 3 NA NA NA NA NA NA NA r_to_sas(df, \"df\", libref = \"WORK\") df <- sas_to_r(\"df\", libref = \"WORK\") tibble::tibble(df) #> # A tibble: 3 × 7 #> double integer logical character factor date datetime #> #> 1 1 1 1 a a 2015-12-09 18:00:00 2015-12-09 04:51:35 #> 2 2.5 2 0 b b 2015-12-10 18:00:00 2015-12-09 04:51:36 #> 3 NA NA NA NA NA NA NA"},{"path":"https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html","id":"file-management","dir":"Articles","previous_headings":"","what":"File management","title":"Getting Started","text":"sasquatch offers different functions manage remote SAS files. Upload files remote SAS server sas_file_upload(). Download files remote SAS server sas_file_download(). Copy files remote SAS server sas_file_copy(). Remove files remote SAS server sas_file_remove(). List files directories within remote SAS server sas_list().","code":"cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") sas_file_upload(local_path = \"script.sas\", sas_path = \"~/script.sas\") sas_file_download(sas_path = \"~/script.sas\", local_path = \"script.sas\") sas_file_copy(\"~/script.sas\", \"~/script_copy.sas\") sas_file_remove(\"~/script_copy.sas\") sas_list(\"~\") #> [1] \"directory1\" \"file1.csv\" \"file2.sas\""},{"path":"https://ryanzomorrodi.github.io/sasquatch/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ryan Zomorrodi. Author, maintainer, copyright holder.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Zomorrodi R (2024). sasquatch: Use 'SAS', R, 'quarto' Together. R package version 0.0.0.9028, https://github.com/ryanzomorrodi/sasquatch, https://ryanzomorrodi.github.io/sasquatch/.","code":"@Manual{, title = {sasquatch: Use 'SAS', R, and 'quarto' Together}, author = {Ryan Zomorrodi}, year = {2024}, note = {R package version 0.0.0.9028, https://github.com/ryanzomorrodi/sasquatch}, url = {https://ryanzomorrodi.github.io/sasquatch/}, }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"sasquatch","dir":"","previous_headings":"","what":"Use SAS, R, and quarto Together","title":"Use SAS, R, and quarto Together","text":"Use SAS, R, Quarto Together sasquatch allows combine power R, SAS, quarto together create reproducible multilingual reports. sasquatch can: Run SAS code blocks interactively Send data back forth SAS R Conduct basic file management SAS client Render SAS output within quarto documents. sasquatch relies SASPy Python package reticulate R package interoperate Python. Check vignette(\"configuration\") guidance SASPy configuration.","code":""},{"path":[]},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"package-installation","dir":"","previous_headings":"Installation","what":"Package installation","title":"Use SAS, R, and quarto Together","text":"can install development version sasquatch like :","code":"# install.packages(\"pak\") pak::pkg_install(\"ryanzomorrodi/sasquatch\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"python-installation","dir":"","previous_headings":"Installation","what":"Python installation","title":"Use SAS, R, and quarto Together","text":"Make sure Python installed system. Python installed, can install Python like : download installer Python Software Foundation.","code":"reticulate::install_python()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"saspy-installation","dir":"","previous_headings":"Installation","what":"SASPy installation","title":"Use SAS, R, and quarto Together","text":"install SASPy package dependencies within Python virutal environment: See vignette(\"configuration\") guidance SASPy configuration.","code":"sasquatch::install_saspy()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Use SAS, R, and quarto Together","text":"setup SASPy connected right python environment using reticulate (necessary), can create quarto document like , call sas_connect(), just get going!","code":"--- format: html engine: knitr --- ```{r} library(sasquatch) sas_connect() ``` ```{sas} ```"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"code-blocks","dir":"","previous_headings":"Usage","what":"Code blocks","title":"Use SAS, R, and quarto Together","text":"Now, able run SAS code blocks RStudio like .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"sending-output-to-viewer","dir":"","previous_headings":"Usage","what":"Sending output to viewer","title":"Use SAS, R, and quarto Together","text":"want send SAS output viewer, can utilize sas_run_selected() addin custom shortcut.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"converting-tables","dir":"","previous_headings":"Usage","what":"Converting tables","title":"Use SAS, R, and quarto Together","text":"Pass tables R SAS r_to_sas() sas_to_r().","code":"r_to_sas(mtcars, \"mtcars\") cars <- sas_to_r(\"cars\", libref = \"sashelp\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"rendering-quarto-documents","dir":"","previous_headings":"Usage","what":"Rendering quarto documents","title":"Use SAS, R, and quarto Together","text":"course, render beautiful quarto documents style expect SAS sas_engine().","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/index.html","id":"comparison-with-similar-packages","dir":"","previous_headings":"","what":"Comparison with similar packages","title":"Use SAS, R, and quarto Together","text":"sasr sasr works identically sasquatch relying SASPy Python package interface SAS, include interactive, file management, quarto functionality. configSAS Like sasr sasquatch, configSAS relies SASPy Python package, primarily focuses solely knitr engine support. configSAS engine HTML output CSS styles interfere rest document SAS code output contained within code block. SASmarkdown SASmarkdown rely SASPy Python package thus fairly simple set ; however, require SAS executable installed machine R. contrast, SASPy-reliant packages can interface local remote SAS installations can easily pass data R SAS without need intermediate files. SASmarkdown features several different engines various formats currently implemented within sasquatch like latex pdfs non-HTML5 HTML. sasquatch may beneficial … Rely remote SAS client Desire interactive SAS functionality developing Require remote SAS file management like able easily send data back forth SAS R without use intermediate files require pdf knitr support local installation SAS, recommend using SASmarkdownat time.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/chk_connection.html","id":null,"dir":"Reference","previous_headings":"","what":"Check SAS connection — chk_connection","title":"Check SAS connection — chk_connection","text":"Checks SAS session currently exists. SAS session terminated session, chk_connection() detect .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/chk_connection.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check SAS connection — chk_connection","text":"","code":"chk_connection()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/chk_connection.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Check SAS connection — chk_connection","text":"Use execute_if_connection_active() function relies SAS connection catch inactive sessions.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":null,"dir":"Reference","previous_headings":"","what":"Configure SASPy package — configure_saspy","title":"Configure SASPy package — configure_saspy","text":"Adds sascfg_personal.py authinfo files prefills relevant info according specified template.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Configure SASPy package — configure_saspy","text":"","code":"configure_saspy(template = c(\"none\", \"oda\"))"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Configure SASPy package — configure_saspy","text":"template Default template base configuration files .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Configure SASPy package — configure_saspy","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Configure SASPy package — configure_saspy","text":"","code":"if (FALSE) { # \\dontrun{ config_saspy() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/execute_if_connection_active.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute SASPy function if session is active — execute_if_connection_active","title":"Execute SASPy function if session is active — execute_if_connection_active","text":"Executes code passed connection active provides helpful error message connection active.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/execute_if_connection_active.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute SASPy function if session is active — execute_if_connection_active","text":"","code":"execute_if_connection_active(code)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/execute_if_connection_active.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Execute SASPy function if session is active — execute_if_connection_active","text":"SAS connection asynchronous can become inactive without user knowing. connection inactive action preformed check connection raise error.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":null,"dir":"Reference","previous_headings":"","what":"Install SASPy package — install_saspy","title":"Install SASPy package — install_saspy","text":"Installs SASPy package, dependencies, markdownify within virtual Python environment.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Install SASPy package — install_saspy","text":"","code":"install_saspy(envname = \"r-saspy\", extra_packages, restart_session = TRUE)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Install SASPy package — install_saspy","text":"envname Name virtual environment install SASPy within. extra_packages Additional packages install. restart_session Restart session?","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Install SASPy package — install_saspy","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Install SASPy package — install_saspy","text":"","code":"if (FALSE) { # \\dontrun{ install_saspy() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert R table to SAS — r_to_sas","title":"Convert R table to SAS — r_to_sas","text":"Converts R table table current SAS session. R tables must logical, integer, double, factor, character, POSIXct, Date class columns.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert R table to SAS — r_to_sas","text":"","code":"r_to_sas(x, table_name, libref = \"WORK\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert R table to SAS — r_to_sas","text":"x data.frame, tibble, data.table; R table. table_name string; Name table created SAS. libref string; Name libref store SAS table within.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert R table to SAS — r_to_sas","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Convert R table to SAS — r_to_sas","text":"SAS two data types (numeric character). Data types converted follows: logical -> numeric integer -> numeric double -> numeric factor -> character character -> character POSIXct -> numeric (datetime) Date -> numeric (date)","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert R table to SAS — r_to_sas","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() r_to_sas(mtcars, \"mtcars\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":null,"dir":"Reference","previous_headings":"","what":"Establish SAS session — sas_connect","title":"Establish SAS session — sas_connect","text":"Starts SAS session. required anything!","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Establish SAS session — sas_connect","text":"","code":"sas_connect(cfgname)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Establish SAS session — sas_connect","text":"cfgname string; Name configuration use SAS_config_names list sascfg_personal.py.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Establish SAS session — sas_connect","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Establish SAS session — sas_connect","text":"configurations specified within sascfg_personal.py file inside SASPy package. information SASPy configuration, check configuration documentation vignette(\"setting_up\").","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Establish SAS session — sas_connect","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect(cfgname = \"oda\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":null,"dir":"Reference","previous_headings":"","what":"Disconnect SAS session — sas_disconnect","title":"Disconnect SAS session — sas_disconnect","text":"Disconnects current SAS session.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Disconnect SAS session — sas_disconnect","text":"","code":"sas_disconnect()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Disconnect SAS session — sas_disconnect","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Disconnect SAS session — sas_disconnect","text":"","code":"if (FALSE) { # \\dontrun{ sas_disconnect() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":null,"dir":"Reference","previous_headings":"","what":"A SAS engine for knitr — sas_engine","title":"A SAS engine for knitr — sas_engine","text":"SAS engine knitr","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"A SAS engine for knitr — sas_engine","text":"","code":"sas_engine(options)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"A SAS engine for knitr — sas_engine","text":"options Options knitr.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"A SAS engine for knitr — sas_engine","text":"knitr engine output.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"A SAS engine for knitr — sas_engine","text":"activated running library(sasquatch)","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"supported-knitr-chunk-options","dir":"Reference","previous_headings":"","what":"Supported knitr chunk options","title":"A SAS engine for knitr — sas_engine","text":"sasquatch's engine implements may options R engine knitr, . eval (Default: TRUE): Evaluate code chunk (false, just echos code output) echo (Default: TRUE): Include source code output output (Default: TRUE): Include results executing code output (TRUE FALSE). include (Default: TRUE): Include output (code results). capture (Default: \"\"): \"\", tabpanel output log included. \"lst\", output included. \"log\" log included.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"html-formats-vs-all-others","dir":"Reference","previous_headings":"","what":"HTML formats vs all others","title":"A SAS engine for knitr — sas_engine","text":"SAS native support HTML output, means embeding HTML SAS output within HTML quarto formats quite easy. can expect HTML formats look nearly identically expect within SAS environment. Within non-HTML formats (pdf, typst, docx), embeding HTML SAS output option. Thus, engine first renders output HTML3 transforms Python package markdownify. process means perfect, order use ensure markdownify installed (install_saspy() install markdownify ) set temporary directory write within SAS client, can set sas_set_tempdir(). Credit idea goes fsmunoz within SASPy discussion post.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"A SAS engine for knitr — sas_engine","text":"","code":"# The below function is run internally within `sasquatch` on startup knitr::knit_engines$set(sas = sas_engine) # If rendering to non-HTML formats, set the SAS temporary directory sas_set_tempdir(\"~/tempdir\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html","id":null,"dir":"Reference","previous_headings":"","what":"Copy a file on SAS — sas_file_copy","title":"Copy a file on SAS — sas_file_copy","text":"Copies file remote SAS server. analogous file.copy(), remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Copy a file on SAS — sas_file_copy","text":"","code":"sas_file_copy(from_path, to_path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Copy a file on SAS — sas_file_copy","text":"from_path Path file remote SAS server copied. to_path Path file remote SAS server copy .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Copy a file on SAS — sas_file_copy","text":"Logical value indicating operation succeeded.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Copy a file on SAS — sas_file_copy","text":"","code":"if (FALSE) { # \\dontrun{ # connect to SAS sas_connect() # create a file and upload it to SAS cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") sas_file_upload(local_path = \"script.sas\", sas_path = \"~/script.sas\") # copy file on SAS sas_file_copy(\"~/script.sas\", \"~/script_copy.sas\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html","id":null,"dir":"Reference","previous_headings":"","what":"Download a file from SAS — sas_file_download","title":"Download a file from SAS — sas_file_download","text":"Downloads file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Download a file from SAS — sas_file_download","text":"","code":"sas_file_download(sas_path, local_path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Download a file from SAS — sas_file_download","text":"sas_path Path file remote SAS server download local_path Path upload SAS file local machine.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Download a file from SAS — sas_file_download","text":"Logical value indicating operation succeeded.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Download a file from SAS — sas_file_download","text":"","code":"if (FALSE) { # \\dontrun{ # connect to SAS sas_connect() # create a file and upload it to SAS cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") sas_file_upload(local_path = \"script.sas\", sas_path = \"~/script.sas\") # download file from SAS sas_file_download(sas_path = \"~/script.sas\", local_path = \"script.sas\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html","id":null,"dir":"Reference","previous_headings":"","what":"Delete a file or directory from SAS — sas_file_remove","title":"Delete a file or directory from SAS — sas_file_remove","text":"Deletes file directory remote SAS server. analogous file.remove(), remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Delete a file or directory from SAS — sas_file_remove","text":"","code":"sas_file_remove(path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Delete a file or directory from SAS — sas_file_remove","text":"path Path file remote SAS server deleted.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Delete a file or directory from SAS — sas_file_remove","text":"Logical value indicating operation succeeded.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Delete a file or directory from SAS — sas_file_remove","text":"","code":"if (FALSE) { # \\dontrun{ # connect to SAS sas_connect() # create a file and upload it to SAS cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") sas_file_upload(local_path = \"script.sas\", sas_path = \"~/script.sas\") # remove file from SAS sas_file_remove(sas_path = \"~/script.sas\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html","id":null,"dir":"Reference","previous_headings":"","what":"Upload a file to SAS — sas_file_upload","title":"Upload a file to SAS — sas_file_upload","text":"Uploads file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Upload a file to SAS — sas_file_upload","text":"","code":"sas_file_upload(local_path, sas_path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Upload a file to SAS — sas_file_upload","text":"local_path Path file local machine uploaded. sas_path Path upload local file remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Upload a file to SAS — sas_file_upload","text":"Logical value indicating operation succeeded.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Upload a file to SAS — sas_file_upload","text":"","code":"if (FALSE) { # \\dontrun{ # connect to SAS sas_connect() # create a file to upload cat(\"PROC MEANS DATA = sashelp.cars;RUN;\", file = \"script.sas\") # upload file sas_file_upload(local_path = \"script.sas\", sas_path = \"~/script.sas\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":null,"dir":"Reference","previous_headings":"","what":"Get current SAS session — sas_get_session","title":"Get current SAS session — sas_get_session","text":"Returns current SAS session, can used extend sasquatch functionality access current session within Python.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get current SAS session — sas_get_session","text":"","code":"sas_get_session()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get current SAS session — sas_get_session","text":"Current SAS session.","code":""},{"path":[]},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"extending-sasquatch-functionality","dir":"Reference","previous_headings":"","what":"Extending sasquatch functionality","title":"Get current SAS session — sas_get_session","text":"SASPy wealth functionality implemented within sasquatch. sas_get_session() offers gateway unimplemented functionality within SASsession class.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"using-python","dir":"Reference","previous_headings":"","what":"Using Python","title":"Get current SAS session — sas_get_session","text":"utilizing Python, R, SAS, start session within R using sas_connect() utilize reticulate pass current SAS session Python.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get current SAS session — sas_get_session","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_get_session() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":null,"dir":"Reference","previous_headings":"","what":"List contents of a SAS directory — sas_list","title":"List contents of a SAS directory — sas_list","text":"Lists files directories directory within remote SAS server.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List contents of a SAS directory — sas_list","text":"","code":"sas_list(path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"List contents of a SAS directory — sas_list","text":"path Path directory remote SAS server list contents .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"List contents of a SAS directory — sas_list","text":"Vector file directory names.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List contents of a SAS directory — sas_list","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_list(\".\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute SAS file — sas_run_file","title":"Execute SAS file — sas_run_file","text":"Execute SAS file render html output save output html log.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute SAS file — sas_run_file","text":"","code":"sas_run_file(input_path, output_path, overwrite = FALSE)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execute SAS file — sas_run_file","text":"input_path Path SAS file run. output_path Optional path save html output (log file named ). overwrite Can output overwrite prior output?","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute SAS file — sas_run_file","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute SAS file — sas_run_file","text":"","code":"if (FALSE) { # \\dontrun{ cat(\"PROC MEANS DATA = sashelp.cars;\\n RUN;\", file = \"test.sas\") sas_connect() sas_run_file(\"test.sas\", \"test.html\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute selected SAS code — sas_run_selected","title":"Execute selected SAS code — sas_run_selected","text":"Execute selected SAS code current session render html output SAS widget.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute selected SAS code — sas_run_selected","text":"","code":"sas_run_selected()"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute selected SAS code — sas_run_selected","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute selected SAS code — sas_run_selected","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() # highlight something in the active editor of RStudio or Positron sas_run_selected() } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":null,"dir":"Reference","previous_headings":"","what":"Execute SAS code — sas_run_string","title":"Execute SAS code — sas_run_string","text":"Execute SAS code current session render html output.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Execute SAS code — sas_run_string","text":"","code":"sas_run_string(input)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Execute SAS code — sas_run_string","text":"input String SAS code input run.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Execute SAS code — sas_run_string","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Execute SAS code — sas_run_string","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() sas_run_string(\"PROC MEANS DATA = sashelp.cars;\\n RUN;\") } # }"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_set_tempdir.html","id":null,"dir":"Reference","previous_headings":"","what":"Set SAS temporary directory — sas_set_tempdir","title":"Set SAS temporary directory — sas_set_tempdir","text":"order create markdown output non-HTML formats, SAS must render intermediate files directory SAS. function allows set directory intermediate files writen .","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_set_tempdir.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Set SAS temporary directory — sas_set_tempdir","text":"","code":"sas_set_tempdir(path)"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_set_tempdir.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Set SAS temporary directory — sas_set_tempdir","text":"path Path SAS write intermediate files knitr sas_engine()","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_set_tempdir.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Set SAS temporary directory — sas_set_tempdir","text":"return value.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert SAS table to R — sas_to_r","title":"Convert SAS table to R — sas_to_r","text":"Converts table current SAS session R data.frame.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert SAS table to R — sas_to_r","text":"","code":"sas_to_r(table_name, libref = \"WORK\")"},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert SAS table to R — sas_to_r","text":"table_name string; Name table SAS. libref string; Name libref SAS table stored within.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert SAS table to R — sas_to_r","text":"data.frame specified SAS table.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Convert SAS table to R — sas_to_r","text":"SAS two data types (numeric character). Data types converted follows: numeric -> double character -> character numeric (datetime) -> POSIXct numeric (date) -> POSIXct conversion process dates datetimes converted local time. utilizing another timezone, use .POSIXct() lubridate::with_tz() convert back desired time zone.","code":""},{"path":"https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Convert SAS table to R — sas_to_r","text":"","code":"if (FALSE) { # \\dontrun{ sas_connect() cars <- sas_to_r(\"cars\", \"sashelp\") } # }"}]
diff --git a/sitemap.xml b/sitemap.xml
index af46871..58365e3 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -3,25 +3,30 @@
https://ryanzomorrodi.github.io/sasquatch/CONTRIBUTING.html
https://ryanzomorrodi.github.io/sasquatch/LICENSE-text.html
https://ryanzomorrodi.github.io/sasquatch/LICENSE.html
+https://ryanzomorrodi.github.io/sasquatch/articles/configuration.html
https://ryanzomorrodi.github.io/sasquatch/articles/index.html
-https://ryanzomorrodi.github.io/sasquatch/articles/setting_up.html
+https://ryanzomorrodi.github.io/sasquatch/articles/sasquatch.html
https://ryanzomorrodi.github.io/sasquatch/authors.html
https://ryanzomorrodi.github.io/sasquatch/index.html
+https://ryanzomorrodi.github.io/sasquatch/reference/chk_connection.html
https://ryanzomorrodi.github.io/sasquatch/reference/configure_saspy.html
+https://ryanzomorrodi.github.io/sasquatch/reference/execute_if_connection_active.html
https://ryanzomorrodi.github.io/sasquatch/reference/index.html
https://ryanzomorrodi.github.io/sasquatch/reference/install_saspy.html
https://ryanzomorrodi.github.io/sasquatch/reference/r_to_sas.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_connect.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_disconnect.html
-https://ryanzomorrodi.github.io/sasquatch/reference/sas_download.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_engine.html
+https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_copy.html
+https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_download.html
+https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_remove.html
+https://ryanzomorrodi.github.io/sasquatch/reference/sas_file_upload.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_get_session.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_list.html
-https://ryanzomorrodi.github.io/sasquatch/reference/sas_remove.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_file.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_selected.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_run_string.html
+https://ryanzomorrodi.github.io/sasquatch/reference/sas_set_tempdir.html
https://ryanzomorrodi.github.io/sasquatch/reference/sas_to_r.html
-https://ryanzomorrodi.github.io/sasquatch/reference/sas_upload.html