相关疑难解决方法(0)

循环在R降价

我有一个像这样的R降价文件:

The following graph shows a histogram of variable x:

```{r}
hist(x)
```
Run Code Online (Sandbox Code Playgroud)

我想介绍一个循环,所以我可以为多个变量做同样的事情.假设有这样的东西:

for i in length(somelist) {
  output paste("The following graph shows a histogram of somelist[[" , i, "]]")
  ```{r}
  hist(somelist[[i]])
  ```
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?

PS:更大的计划是创建一个程序,该程序将遍历数据框并自动为每列生成适当的摘要(例如直方图,表格,箱形图等).然后,该程序可用于自动生成降价文档,其中包含在查看第一个数据的数据时要进行的探索性分析.

markdown r r-markdown

41
推荐指数
2
解决办法
2万
查看次数

如何在R中创建一个包含代码块和带有knitr的文本的循环

我试图弄清楚如何创建一个循环,将一些文本插入到rmarkdown文件中,然后生成与该标题对应的图形或表格.以下是我的工作原理:

for(i in 1:max(month)){
### `r month.name[i]` Air quaility

```{r, echo=FALSE}
plot(airquality[airquality$Month == 5,])
```
}
Run Code Online (Sandbox Code Playgroud)

这个当然只是打印for循环作为文本,如果我用r``环绕for循环,我只会得到一个错误.

我希望代码生成一个如下所示的rmd文件:

可空气质量

情节

六月空气质量

情节

等等等等.有任何想法吗?我不能使用乳胶因为我在工作时他们不让我们下载exe文件,而且我不知道如何使用乳胶.我想制作一个word文档.

loops r knitr

22
推荐指数
2
解决办法
8872
查看次数

如何为R中的回归量创建"宏"?

对于长模型和重复模型,我想创建一个"宏"(所谓的Stata,并在那里完成global var1 var2 ...),其中包含模型公式的回归量.

例如来自

library(car)
lm(income ~ education + prestige, data = Duncan)
Run Code Online (Sandbox Code Playgroud)

我想要的东西:

regressors <- c("education", "prestige")
lm(income ~ @regressors, data = Duncan)  
Run Code Online (Sandbox Code Playgroud)

我能找到这种方法.但我在回归量上的应用不起作用:

reg = lm(income ~ bquote(y ~ .(regressors)), data = Duncan)
Run Code Online (Sandbox Code Playgroud)

因为它抛出了我:

Error in model.frame.default(formula = y ~ bquote(.y ~ (regressors)), data =
Duncan,  :  invalid type (language) for variable 'bquote(.y ~ (regressors))'
Run Code Online (Sandbox Code Playgroud)

即使是同一问题的公认答案:

lm(formula(paste('var ~ ', regressors)), data = Duncan)
Run Code Online (Sandbox Code Playgroud)

罢工并告诉我:

Error in model.frame.default(formula = formula(paste("var ~ ", …
Run Code Online (Sandbox Code Playgroud)

r substitution lm stata stata-macros

18
推荐指数
2
解决办法
451
查看次数

在for循环中生成markdown注释

我正在尝试使用knitr基于具有for循环的R脚本生成HTML报告.我想从for循环中的注释生成markdown注释,但我不确定它是否可行.

这是一个简单的例子,这是在test.R中:

for (i in 1:5) {
    ## This is a heading for `i`
    #' This is a comment for `i`
    print(i)    
}
Run Code Online (Sandbox Code Playgroud)

然后我用spin来生成一个Rmd文件:spin('test.R')

但是,Rmd文件如下所示.

```{r }
for (i in 1:5) {
    ## This is a heading for `i`
    #' This is a comment for `i`
    print(i)    
}
```
Run Code Online (Sandbox Code Playgroud)

R块中的markdown注释不会编译为HTML.可能吗?

谢谢,彼得

markdown r roxygen knitr

16
推荐指数
3
解决办法
1万
查看次数

标签 统计

r ×4

knitr ×2

markdown ×2

lm ×1

loops ×1

r-markdown ×1

roxygen ×1

stata ×1

stata-macros ×1

substitution ×1