# Import certain parameters from cmdstan .csv output files to Stanfit object

**URL:** <https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376>\
**Category:** General\
**Tags:** cmdstan, techniques\
**Created:** [March 19, 2021, 10:15am UTC](https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376 "2021-03-19T10:15:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![scijens](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/scijens/32/9695_2.png) [@scijens](https://discourse.mc-stan.org/u/scijens)\
**Post date:** [March 19, 2021, 10:15am UTC](https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376/1 "2021-03-19T10:15:45Z")

</div>

Hi everyone,

I am using CmdStan on a Linux machine, but I post-process the output files using R on Windows. Loading the whole output to a Stanfit object with `read_stan_csv(files)` takes forever, and doing convergence diagnostics with this object even longer. Is there any command or workaround to load only specific parameters from the .csv output files to the R environment?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![rok\_cesnovar](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@rok\_cesnovar](https://discourse.mc-stan.org/u/rok_cesnovar)\
**Post date:** [March 19, 2021, 10:29am UTC](https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376/2 "2021-03-19T10:29:12Z")

</div>

You can do that using cmdstanr.

`cmdstanr::read_cmdstan_csv(variables = "alpha")`

For more see:

> **[Read CmdStan CSV files into R — read\_cmdstan\_csv](https://mc-stan.org/cmdstanr/reference/read_cmdstan_csv.html)**
>
> read\_cmdstan\_csv() is used internally by CmdStanR to read CmdStan's output
> CSV files into R. It can also be used by CmdStan users as a more flexible
> and efficient alternative to rstan::read\_stan\_csv().

---

<div class="post-metadata">

**Author:** ![scijens](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/scijens/32/9695_2.png) [@scijens](https://discourse.mc-stan.org/u/scijens)\
**Post date:** [March 19, 2021, 10:45am UTC](https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376/3 "2021-03-19T10:45:21Z")

</div>

Thanks, that was what I was looking for.

One follow-up question:  
Using

> files ← c(“output\_1.csv”, “output\_2.csv”)  
> mod = read\_cmdstan\_csv(files, variables = c(“mu”, “nu”))

it writes all the parameters to a list, so using

> rstan::traceplot(mod, pars = c(“mu”))

won’t work anymore. Can I extract the csv files still to a Stanfit object?

---

<div class="post-metadata">

**Author:** ![rok\_cesnovar](https://avatars.discourse-cdn.com/v4/letter/r/7bcc69/32.png) [@rok\_cesnovar](https://discourse.mc-stan.org/u/rok_cesnovar)\
**Post date:** [March 19, 2021, 11:16am UTC](https://discourse.mc-stan.org/t/import-certain-parameters-from-cmdstan-csv-output-files-to-stanfit-object/21376/4 "2021-03-19T11:16:28Z")

</div>

I dont think you can make a stanfit from that, but you can traceplot from cmdstanr easily.

Example:

```r
f <- cmdstanr::read_cmdstan_csv(files, variables = c("mu", "nu"))
bayesplot::mcmc_trace(f$post_warmup_draws[,,c("mu", "nu")])

```

A different example:

> [@Import csv output from cmdstan in R: How to indicate the chain?](https://discourse.mc-stan.org/t/import-csv-output-from-cmdstan-in-r-how-to-indicate-the-chain/20595/2):
>
> I am not sure how you can do that with rstan’s functions but this work for cmdstan output and traceplots: # install.packages("remotes") remotes::install\_github("stan-dev/cmdstanr") library(cmdstanr) library(bayesplot) fit \<- as\_cmdstan\_fit(files) color\_scheme\_set("mix-blue-pink") mcmc\_trace(fit$draws(variables = c("alpha", "beta[1]")))
