rush run -n 'head(df)' survey.sav
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["survey"]] <- rush::read("survey.sav")
#> df <- dfs[[1]]
#> result <- head(df)
#>
#> rush::write(result)Statistical formats (SPSS, Stata, SAS)
Files ending in .sav, .zsav, .por (SPSS), .dta (Stata), .sas7bdat, or .xpt (SAS) are read with haven. Labelled columns are kept as-is; apply haven::as_factor() in your expression if you want to convert them to factors.
SPSS
Reading
Writing
rush run -n -o result.sav 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> output = "result.sav",
#> output_format = "sav",
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#>
#> rush::write(result)Stata
Reading
rush run -n 'head(df)' data.dta
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.dta")
#> df <- dfs[[1]]
#> result <- head(df)
#>
#> rush::write(result)Writing
rush run -n -o result.dta 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> output = "result.dta",
#> output_format = "dta",
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#>
#> rush::write(result)SAS
Reading
rush run -n 'head(df)' data.sas7bdat
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.sas7bdat")
#> df <- dfs[[1]]
#> result <- head(df)
#>
#> rush::write(result)rush run -n 'head(df)' data.xpt
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.xpt")
#> df <- dfs[[1]]
#> result <- head(df)
#>
#> rush::write(result)Writing SAS transport
rush run -n -o result.xpt 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> output = "result.xpt",
#> output_format = "xpt",
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#>
#> rush::write(result)Converting between formats
rush convert -o output.sav data.csv
rush convert -o output.dta data.csv
rush convert -o output.xpt data.csv