msk98  
                
               
                 
              
                  
                    July 27, 2020, 10:56am
                   
                   
              1 
               
             
            
              I am trying to run brms models in “cmdstanr” as,
custom_model = cmdstan_model("Code/custom_code.stan")
time0 = system.time(fit <- custom_model$sample(custom_standat,
                                             chains = 4,
                                             parallel_chains = 4,
                                             refresh = 1000))
 
The error is,
Error: No method asJSON S3 class: standata
 
How to convert standata to json?
             
            
               
               
               
            
                
            
           
          
            
            
              Can you specify a bit more what is custom_standat and how do you construct it?
In general, data for cmdstanr is just a list.
fit <- custom_model$sample(list(N=5, y = c(0,1,2,3,4)),...
             
            
               
               
               
            
            
           
          
            
              
                msk98  
                
               
              
                  
                    July 27, 2020, 11:51am
                   
                   
              3 
               
             
            
              I have used “make_standata(Formula, Data)” in the brms library. It returns a list[N] (S3: standata).
             
            
               
               
               
            
            
           
          
            
              
                msk98  
                
               
              
                  
                    July 27, 2020, 12:38pm
                   
                   
              4 
               
             
            
              I have unpacked the data from the “list[N] (S3: standata)” format and packed it again to a normal “list[N]” using for loops in R. The code runs fine.
             
            
               
               
              1 Like 
            
            
           
          
            
            
              Yes, was just meaning to write that. For future reference, below code does the job.
library(brms)
standata <- make_standata(count ~ zAge + zBase * Trt + (1|patient), 
            data = epilepsy, family = poisson())
data <- list()
for (t in names(standata)) {
  data[[t]] <- standata[[t]]
} 
             
            
               
               
              4 Likes