我想创建一个自动编织器报告,它将为我的数据帧中的每个数字字段生成直方图.我的目标是在不必指定实际字段的情况下执行此操作(此数据集包含超过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)
从这一点来说,我希望进一步定制这些图.
我在加载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和 …
我正在使用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)
有没有办法绕过这个错误?
但不同之处在于,这仅在尝试创建Rmd时发生,而不是在任何其他情况下
我一直在使用ctrl + shift + m快捷方式插入众所周知的%>%管道运算符。自从R版本4.1.0发布并添加了新|>的base,我想知道Rstudio中是否有相应的快捷方式?
我正在尝试按照此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)
我还想更多地定制标题并添加一个副标题.可能?
偶然我遇到了"[<-"操作员的奇怪行为.它的行为会有所不同,具体取决于调用的顺序以及我是使用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会话,它不会改变任何东西.
更新:
我写了一篇关于在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) 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
我正在使用Rstudio而不确定选项"运行"和"源"是如何不同的.
我试过谷歌搜索这些术语,但'源'是一个非常常见的词,并没有得到很好的搜索结果:(

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中是否存在类似的功能?
更新
C-c C-o C-o