我想使用ggplot图形从R中的函数中生成几个图形窗口...
testf <- function(a, b) {
devAskNewPage(TRUE)
qplot(a, b);
# grid.newpage(recording = TRUE)
dev.new()
qplot(a, a+a);
# grid.newpage(recording = TRUE)
dev.new()
qplot(b, b+b);
}
library(ggplot2)
x <- rnorm(50)
y <- rnorm(50)
testf(x, y)
Run Code Online (Sandbox Code Playgroud)
但是,dev.new()和grid.newpage()似乎都没有刷新前面的情节.
我知道,在R中,函数通常只生成他们评估的最后一件事,但我想更好地理解这个过程并了解任何可能的解决方法.
思考?
为了教授和准备关于R的书面说明,一直让我感到沮丧的事情是我不能简单地从R复制命令和输出并将它们粘贴到另一个R会话中.例如,如果我做一些微不足道的事情,比如
> x <- rnorm(10)
> x
[1] 1.76975998 1.19722850 -0.39274507 -1.10979974 0.52320473 -0.08643833
[7] 0.94437690 0.08083207 0.62260363 1.89305469
Run Code Online (Sandbox Code Playgroud)
如果我将其复制并粘贴到文档中或者甚至是这篇帖子中,那么您(和我的学生)不能只是突出显示它,复制它并将其粘贴到R会话中成功
> > x <- rnorm(10)
Error: syntax error
> > x
Error: syntax error
> [1] 1.76975998 1.19722850 -0.39274507 -1.10979974 0.52320473 -0.08643833
Error: syntax error
> [7] 0.94437690 0.08083207 0.62260363 1.89305469
Error: syntax error
Run Code Online (Sandbox Code Playgroud)
您可能希望这样做来测试R的安装,将我的输出与您的输出进行比较,或者只是为了使用我提供的功能.
因此,我希望能够做的是将默认提示符从>更改为空字符串或空格,并在所有输出行前面添加井号#.这样,我可以交互式地使用R来生成看起来像的会话
x <- rnorm(10)
x
# [1] 1.76975998 1.19722850 -0.39274507 -1.10979974 0.52320473 -0.08643833
# [7] 0.94437690 0.08083207 0.62260363 1.89305469
Run Code Online (Sandbox Code Playgroud)
它可以被复制/粘贴到R对话成功.这对于我来说更容易为期刊文章,学生,讲座等准备R代码(也许对其他人来说?)
我没有运气地戳了一下文档...有什么想法吗?指针?
目前,我通过R.app GUI或终端在Mac上使用R.
以下示例没有固有的含义......它只是为了展示标签,地毯等的特定位置,并且代表[编辑] (a)我正在研究的一个非常大的项目,我无法讨论细节,(b)需要使用ggplot,(c)需要图形的视觉特征,类似于下面给出的图中反映的图形.
可以直接使用ggplot2重建以下内容,还是使用网格摆弄一些?
x <- rnorm(20)
y <- rnorm(20)
plot(x, y, axes=F, xlab="", ylab="")
axis(side = 1, at = round(mean(x), 2))
axis(side = 2, at = round(mean(y), 2))
axis(side = 3, at = round( range(x), 2 ))
axis(side = 4, at = round( range(y), 2 ))
rug(x, side=3)
rug(y, side=4)
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议前进的道路吗?
在尝试安装 udunit2(R 包)时,我收到以下错误,表明它找不到共享对象文件。是否有我缺少的环境变量?
/srv/shiny-server/r-packages 是我自定义的R包安装目录。
我根据https://www.unidata.ucar.edu/software/udunits/udunits-current/doc/udunits/udunits2.html#Obtain安装了 udunits2
udunits2 用作命令行工具。
更新:libudunits2.so.0 似乎存在于我的系统中:
$ la /usr/local/lib
total 568
drwxr-xr-x. 3 root root 4096 Apr 4 14:56 ./
drwxr-xr-x. 12 root root 4096 Dec 8 2016 ../
-rw-r--r--. 1 root root 199466 Apr 4 14:56 libudunits2.a
-rwxr-xr-x. 1 root root 889 Apr 4 14:56 libudunits2.la*
lrwxrwxrwx. 1 root root 20 Apr 4 10:04 libudunits2.so -> libudunits2.so.0.1.0*
lrwxrwxrwx. 1 root root 20 Apr 4 10:04 libudunits2.so.0 -> libudunits2.so.0.1.0*
-rwxr-xr-x. 1 root …Run Code Online (Sandbox Code Playgroud)