标签: rstudio

R knitr Markdown:For循环中的输出图

我想创建一个自动编织器报告,它将为我的数据帧中的每个数字字段生成直方图.我的目标是在不必指定实际字段的情况下执行此操作(此数据集包含超过70个,我还想重用该脚本).

我尝试过几种不同的方法:

  • 将绘图保存到对象,p然后p在循环 后调用
    • 这只绘制了最终的情节
  • 创建一个绘图数组PLOTS <- NULL,并在循环中附加绘图PLOTS <- append(PLOTS, p)
    • 从循环中访问这些图并不起作用
  • 甚至尝试将每个.png文件保存到文件中,但不必处理保存然后重新访问每个文件的开销

我担心情节设备的复杂性正在逃避我.

如何将循环内的每个绘图输出到报告中?目前,我能做到的最好的是输出最终绘图,将其保存到对象并在循环外调用该对象.

knitr在RStudio中使用R markdown chunk :

```{r plotNumeric, echo=TRUE, fig.height=3}
suppressPackageStartupMessages(library(ggplot2))
FIELDS <- names(df)[sapply(df, class)=="numeric"]
for (field in  FIELDS){
  qplot(df[,field], main=field)  
}
```
Run Code Online (Sandbox Code Playgroud)

从这一点来说,我希望进一步定制这些图.

r ggplot2 rstudio knitr

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

与xlsx包和choose.files冲突

我在加载xlsx包和使用choose.files时遇到了一个奇怪的问题.

一旦我将RStudio更新到最新版本(v0.97.237),就会出现此问题.如果我启动RStudio然后加载xlsx(即library(xlsx))包加载就好了.但是,如果我尝试使用choose.files(),RStudio会冻结(实际上它会持续运行,无法在不使用Win7任务管理器结束的情况下关闭).如果我启动RStudio并首先使用choose.files,它可以正常工作.如果我然后运行该library(xlsx)行,xlsx包将不会加载.它给出了下面的错误.

我已经尝试重新安装xlsx包(以及xlsxjars和rJava),但这不起作用.也没有重新安装Java.

有什么建议?我正在使用R v2.15.2.

library(xlsx)  
Loading required package: xlsxjars  
Loading required package: rJava  
Error occurred during initialization of VM  
Could not reserve enough space for object heap  
Error : .onLoad failed in loadNamespace() for 'xlsxjars', details:  
  call: .jinit()  
  error: Cannot create Java virtual machine (-4)  
Error: package ‘xlsxjars’ could not be loaded  
Run Code Online (Sandbox Code Playgroud)

编辑:这是问题所在.对不起任何困惑.当我输入这个:

filename<-file.choose() #select file
library(xlsx)
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)

我可以成功选择文件名,但xlsx包无法加载,因此我无法打开数据文件.我得到上面的错误.但是,如果我改为运行它(在我关闭并重新启动RStudio之后):

library(xlsx)
filename<-file.choose() #select file
mydata<-read.xlsx(filename,1) #load datafile
Run Code Online (Sandbox Code Playgroud)

xlsx包正确加载,但file.choose导致R无限期运行,因此脚本冻结,我无法加载我的文件.这也是使用的情况choose.files().我不知道为什么这两件事(xlsx和 …

java r xlsx rstudio

45
推荐指数
1
解决办法
5277
查看次数

"尚未支持长向量"Rmd中的错误但R Script中没有

我正在使用R 3.1和RStudio 0.99运行矩阵.

我有我的R脚本和cmd +输入它没有问题.

我为报告创建了一个Rmd,但是我有这个错误

Error in lazyLoadDBinsertVariable(vars[i], from, datafile, ascii, compress,  : 
  long vectors not supported yet: ../../../../R-3.3.1/src/main/connections.c:5600
Calls: <Anonymous> ... <Anonymous> -> <Anonymous> -> lazyLoadDBinsertVariable
Execution halted
Run Code Online (Sandbox Code Playgroud)

有没有办法绕过这个错误?

这似乎是R大型矩阵的重复:尚未支持长向量

但不同之处在于,这仅在尝试创建Rmd时发生,而不是在任何其他情况下

r rstudio knitr r-markdown

45
推荐指数
2
解决办法
5489
查看次数

如何在 Rstudio 中快速插入新的“管道运算符”?

我一直在使用ctrl + shift + m快捷方式插入众所周知的%>%管道运算符。自从R版本4.1.0发布并添加了新|>base,我想知道Rstudio中是否有相应的快捷方式?

keyboard-shortcuts r rstudio

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

Rmarkdown yaml中的多个作者和副标题

我正在尝试按照此pandoc示例将多个作者添加到yaml元数据块中的Rmarkdown文件.pdf将在RStudio(版本0.98.932)中生成,但没有作者信息.

---
title:  'This is the title: it contains a colon'
author:
- name: Author One
  affiliation: University of Somewhere
- name: Author Two
  affiliation: University of Nowhere
date: "`r format(Sys.time(), '%d %B %Y')`"
tags: [nothing, nothingness]
abstract: |
  This is the abstract.

  It consists of two paragraphs.
output: pdf_document
---
Run Code Online (Sandbox Code Playgroud)

我还想更多地定制标题并添加一个副标题.可能?

yaml r rstudio r-markdown

43
推荐指数
7
解决办法
5万
查看次数

运算符"[< - "在RStudio和R中

偶然我遇到了"[<-"操作员的奇怪行为.它的行为会有所不同,具体取决于调用的顺序以及我是使用RStudio还是普通的RGui.我将通过一个例子说清楚.

x <- 1:10
"[<-"(x, 1, 111)
x[5] <- 123
Run Code Online (Sandbox Code Playgroud)

据我所知,第一个分配不应该改变x(或者我可能是错的?),而第二个应该这样做.事实上,上述操作的结果是

x
[1]  1  2  3  4  123  6  7  8  9 10
Run Code Online (Sandbox Code Playgroud)

但是,当我们以不同的顺序执行这些操作时,结果会有所不同并且x已经发生变化!意味深长:

x <- 1:10
x[5] <- 123
"[<-"(x, 1, 111)
x
[1] 111   2   3   4   123   6   7   8   9  10
Run Code Online (Sandbox Code Playgroud)

但它只发生在我使用普通R!在RStudio中,两个选项的行为都是相同的.我在两台机器上检查过它(一台用Fedora,一台用Win7),情况看起来完全一样.我知道'功能'版本("[<-"(x..))可能从未使用过,但我很好奇它为什么会发生.谁能解释一下呢?

==========================

编辑:好的,所以从评论我得到的原因是x <- 1:10类型'整数'和更换后x[5] <- 123的'双'.但仍然存在为什么RStudio的行为不同的问题?我重新启动R会话,它不会改变任何东西.

r rstudio

42
推荐指数
1
解决办法
1391
查看次数

R没有检测到Rtools

更新:

我写了一篇关于在Windows安装Rtools的简短演练指南.

原版的:

我试图在Windows 7上使用RStudio构建一个R包.当我尝试通过RStudio的Build面板构建包时,我收到:

WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

http://cran.rstudio.com/bin/windows/Rtools/
Run Code Online (Sandbox Code Playgroud)

加载library(devtools)和运行find_rtools(T)给出:

Scanning path...
ls : F:\Rtools\bin\ls.exe 
Scanning registry...
Found F:/Rtools for 3.1 
VERSION.txt
Rtools version 3.1.0.1936 
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

Path变量设置为:

F:\Rtools\bin;F:\Rtools\gcc-4.6.3\bin;F:\Rtools\perl\bin;F:\Rtools\MinGW\bin;F:\Program Files\R\R-3.0.2\bin\x64;F:\Program Files (x86)\HTML Help Workshop;F:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program …
Run Code Online (Sandbox Code Playgroud)

windows r rstudio

42
推荐指数
4
解决办法
5万
查看次数

pandoc文档转换失败,错误43:pdflatex:找不到内存转储文件

RStudio:0.98.994操作系统:Microsoft Windows 7旗舰版,64位Service Pack 1 MiKTeX:2.9.4503

嗨,

当我尝试编织PDF文档时出现以下错误.

pandoc.exe:从TeX源生成PDF时出错.这是pdfTeX,版本3.1415926-1.40.11(MiKTeX 2.9)pdflatex:找不到内存转储文件.pdflatex:数据:pdflatex.fmt

pandoc rstudio

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

Rstudio在运行和源之间的区别

我正在使用Rstudio而不确定选项"运行"和"源"是如何不同的.

我试过谷歌搜索这些术语,但'源'是一个非常常见的词,并没有得到很好的搜索结果:(

在此输入图像描述

rstudio

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

RStudio可以自动为函数生成一个roxygen模板吗?

RStudio是否支持任何自动化的氧模板创建?

在Emacs-ESS中,C-x C-o将为函数生成一个roxygen模板.例如,它会自动转换为:

foo <- function(x,y) x+y
Run Code Online (Sandbox Code Playgroud)

进入这个:

##' .. content for \description{} (no empty lines) ..
##'
##' .. content for \details{} ..
##' @title 
##' @param x 
##' @param y 
##' @return 
##' @author David
foo <- function(x,y) x+y
Run Code Online (Sandbox Code Playgroud)

RStudio中是否存在类似的功能?

更新

  • ESS 12.09-2开始,命令已更改为C-c C-o C-o
  • 此功能已在Rstudio中实现:CTRL + ALT + SHIFT + R.

r roxygen rstudio roxygen2

38
推荐指数
2
解决办法
4968
查看次数

标签 统计

rstudio ×10

r ×8

knitr ×2

r-markdown ×2

ggplot2 ×1

java ×1

keyboard-shortcuts ×1

pandoc ×1

roxygen ×1

roxygen2 ×1

windows ×1

xlsx ×1

yaml ×1