Как сохранить код R внутри страницы в выводе уценки R? - PullRequest
4 голосов
/ 03 апреля 2020

Я пытаюсь запустить следующий код в R уценке только для печати кода. Я не хочу печатать результаты из R кода. Некоторые строки в коде действительно большие. Когда я запустился, он работал отлично, но некоторые из строк go за пределами страницы? Вот код уценки R


title: R code
output: 
  pdf_document:
    toc: true
    number_sections: true
documentclass: article
classoption: 
  - portrait
  - a4paper
---



```{r,eval=F,echo=TRUE}
hrs_data_GS$rSLn==i,\]%*%beta\[k,\])^2/2*sigma2)+
                          sum(z_ij_str\[i\]*xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\])-
                          0.5*sum(w_ij\[hrs_data_GS$rSLn==i\]*(xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\])^2)+
                          ( (lamda/sigma2)*sum(hrs_data_GS$y_ij\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i\]-
                                                 xdata\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i,\]%*%beta\[k,\])
                            +sum_z_ij_str\[i\]- sum(w_ij\[hrs_data_GS$rSLn==i\]*
                                                    xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\]))^2*
                          2*((n_i\[i\]*lamda^2/sigma2)+sum_w_ij_j\[i\]+1/sig2.theta)^-1)+
          (log(pi_cls\[i,k\]))  #(log(pi_k\[k\]))  
      }
    }
    nume_prod<-nume_prod-apply(nume_prod,1,max) #it works 
    nume_prod <- exp(nume_prod)
    prob_cls_rsum=apply(nume_prod, 1, sum) 
    prob_cls=nume_prod/ prob_cls_rsum 
    #cls=miscF::rMultinom(p=cbind(prob_cls)) #miscF is not available at CRC
    cls=Hmisc::rMultinom(p=cbind(prob_cls),1)  
    #Update sum_y.ij_j and sum_wxa_ij_j before updating the theta
    #these values involve 'cls'
    #******
    for (i in 1:m){ 
      #1**********
      sum_y.ij_j\[i\]<-(lamda/sigma2)*sum((hrs_data_GS$y_ij\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i\]-
                                           xdata\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i,\]%*%beta\[cls\[i\],\])
      ) #conditioning on z_ij==1
      #2******
      sum_wxa_ij_j\[i\]<-sum((w_ij\[hrs_data_GS$rSLn==i\]*
                              xdata\[hrs_data_GS$rSLn==i,\]%*%
                              alpha\[cls\[i\],\])
      )
    }
    #Update theta_i
    theta_i=rnorm(m, #number of thetas 
                  (sum_z_ij_str-sum_wxa_ij_j+sum_y.ij_j)*
                    (((1/sig2.theta)+sum_w_ij_j+((lamda^2/sigma2)*n_i_z1))^-1), #mean  
                  sqrt((((1/sig2.theta)+sum_w_ij_j+((lamda^2/sigma2)*n_i_z1))^-1)) #std 


```

Вот вывод R markdown output

Я хотел бы сохранить все коды внутри страницы. Есть ли способ сделать это для всего куска?

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

Я думаю, что вы ищете width.cutoff:

Вы можете изменить параметры чанка вверху:

library(formatR)
```{r, tidy=TRUE, tidy.opts=list(width.cutoff=60), eval = FALSE, echo = TRUE}
0 голосов
/ 03 апреля 2020

добавьте `` `в конец документа, по какой-то причине я не смог их отобразить. Другой формат документа, но вам нужно только распечатать в PDF из браузера

---

title: R code

output: html_document

---




```{r,,eval=F,echo=TRUE, fig.width=40}
hrs_data_GS$rSLn==i,\]%*%beta\[k,\])^2/2*sigma2)+
                          </br> sum(z_ij_str\[i\]*xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\])-
                          0.5*sum(w_ij\[hrs_data_GS$rSLn==i\]*(xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\])^2)+
                       ( (lamda/sigma2)*sum(hrs_data_GS$y_ij\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i\]-
                                              xdata\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i,\]%*%beta\[k,\])
                            +sum_z_ij_str\[i\]- sum(w_ij\[hrs_data_GS$rSLn==i\]*
                                                    xdata\[hrs_data_GS$rSLn==i,\]%*%alpha\[k,\]))^2*
                          2*((n_i\[i\]*lamda^2/sigma2)+sum_w_ij_j\[i\]+1/sig2.theta)^-1)+
          (log(pi_cls\[i,k\]))  #(log(pi_k\[k\]))  
      }
    }
    nume_prod<-nume_prod-apply(nume_prod,1,max) #it works 
    nume_prod <- exp(nume_prod)
    prob_cls_rsum=apply(nume_prod, 1, sum) 
    prob_cls=nume_prod/ prob_cls_rsum 
    #cls=miscF::rMultinom(p=cbind(prob_cls)) #miscF is not available at CRC
    cls=Hmisc::rMultinom(p=cbind(prob_cls),1)  
    #Update sum_y.ij_j and sum_wxa_ij_j before updating the theta
    #these values involve 'cls'
    #******
    for (i in 1:m){ 
      #1**********
      sum_y.ij_j\[i\]<-(lamda/sigma2)*sum((hrs_data_GS$y_ij\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i\]-
    xdata\[hrs_data_GS$z_ij==1 & hrs_data_GS$rSLn==i,\]%*%beta\[cls\[i\],\])
      ) #conditioning on z_ij==1
      #2******
      sum_wxa_ij_j\[i\]<-sum((w_ij\[hrs_data_GS$rSLn==i\]*
                              xdata\[hrs_data_GS$rSLn==i,\]%*%
                              alpha\[cls\[i\],\])
      )
    }
    #Update theta_i
    theta_i=rnorm(m, #number of thetas 
                  (sum_z_ij_str-sum_wxa_ij_j+sum_y.ij_j)*
                    (((1/sig2.theta)+sum_w_ij_j+((lamda^2/sigma2)*n_i_z1))^-1), #mean  
                  sqrt((((1/sig2.theta)+sum_w_ij_j+((lamda^2/sigma2)*n_i_z1))^-1)) #std

...