人们如何学习如何为R包命名空间?我发现"R Extensions"中的文档很好,但我并不真正了解导入或导出变量时发生的事情 - 我需要这些指令的虚拟指南.
你如何决定出口?是不是只需要pkg ::: var语法的所有内容?进口怎么样?
当函数名称重叠时,导入是否更容易确保您对其他包函数的使用不会混淆?
S4课程有特殊注意事项吗?
我熟悉的使用名称空间(如sp和rgdal)的软件包非常复杂 - 是否有简单的示例可以使事情更清晰?
在交互式窗口系统(例如Windows,Ubuntu,MacOSX)中使用R时,默认行为plot(x)是打开交互式图形设备(带有plot.new()引擎盖),并在其上绘制内容.该设备可以交互式移动,调整大小和关闭,并且(取决于平台)呈现其他基于GUI的操作.可以使用R代码关闭或复制它dev.off(),dev.copy()并且该系列中还有其他功能.
可以使用R代码移动或调整设备的大小吗?
我意识到这个问题可能有许多特定于平台的答案,欢迎所有和任何细节.我最感兴趣的是最新版本的R的默认Windows安装选项,但渴望了解有关操作系统环境与其他选项之间差异的更多信息.
所以我在摆脱图形设备的整个边缘时遇到了一些麻烦.我将mar设置为0,但边缘周围仍有一些持久空间.例如:
plot.new()
par(mar=c(0,0,0,0))
plot.window(c(0,1),c(0,1))
points(c(1,1,0,0),c(1,0,1,0))
Run Code Online (Sandbox Code Playgroud)

我希望这些点集中在图的极端边缘.有没有par我失踪的?
为什么R的基础图功能可以做到这一点?我们必须使用points或lines需要特殊代码而不是使用type参数.
plot(1:10)
plot(10:1, add = TRUE)
Warning messages:
1: In plot.window(...) : "add" is not a graphical parameter
2: In plot.xy(xy, type, ...) : "add" is not a graphical parameter
3: In axis(side = side, at = at, labels = labels, ...) :
Run Code Online (Sandbox Code Playgroud)
等等.
许多包提供了(即"覆盖")绘图的方法,并提供了明显的绘制(obj,add = TRUE)的能力,只要obj是适当的类.(实例是sp,raster,spatstat.)
有什么理由plot.default还没有吗?
编辑:这在这里详细讨论:
http://tolstoy.newcastle.edu.au/R/e4/devel/08/03/0725.html
DM在这里有效地回答:http://tolstoy.newcastle.edu.au/R/e4/devel/08/03/0734.html
我在LaTeX写论文,因为我的口味有点长,我把它分成了几个文件.让我们给他们打电话thesis.tex,intro.tex,mat_n_met.tex,rslts.tex和discsn.tex.我有联系intro.tex,mat_n_met.tex,rslts.tex并discsn.tex通过thesis.tex与\include{intro}(等等...).我还创建了一个名为r_crunching.Rnw(我通过Sweave运行)的单独文件,其中包含一个运行R脚本的块,其中包含数据分析和块,这些块生成我嵌入的图形的pdf输出\includegraphics(例如,rslts.tex).还在关注?
如果我使用R脚本运行一个Rnw(即我重命名rslts.tex为rslts.Rnw)没有"链接"到块,您将收到一个Sweave()错误,指出引用\Sexpr{}不存在.有没有办法,没有将所有文件合并到一个.Rnw,来打电话\Sexpr{}说rslts.Rnw?
其他方法如何实现这一点是受欢迎的.
我正在尝试使用R包ncdf创建一个多维NetCDF文件.我正在进行一组1500点的气候日常观测,每个点的观测数量为~18250.问题是NetCDF文件(create.ncdf)的结构占用4Gb,每个点使文件的大小增加超过3 Gb(put.var.ncdf)
这是我正在使用的代码:
# Make a few dimensions we can use
dimX <- dim.def.ncdf( "Long", "degrees", Longvector )
dimY <- dim.def.ncdf( "LAT", "degrees", Latvector )
dimT <- dim.def.ncdf( "Time", "days", 1:18250, unlim=FALSE )
# Make varables of various dimensionality, for illustration purposes
mv <- -9999 # missing value to use
var1d <- var.def.ncdf( "var1d", "units", dimX, mv,prec="double" )
var2d <- var.def.ncdf( "var2d", "units", list(dimX,dimY), mv,prec="double" )
var3d <- var.def.ncdf( "var3d", "units", list(dimX,dimY,dimT), mv,prec="double" ) …Run Code Online (Sandbox Code Playgroud) 我正在尝试加载一个zip级别的shapefile来做一些绘图,按:https: //github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles http://www.nceas.ucsb.edu/scicomp/ usecases/ReadWriteESRIShapeFiles等
我的代码:
library(rgdal)
library(RColorBrewer)
library(ggplot2)
zipmap = readOGR(dsn="file.zip/", layer="myZIPmap")
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
Error in ogrInfo(dsn = dsn, layer = layer, input_field_name_encoding = input_field_name_encoding) :
Cannot open file
Run Code Online (Sandbox Code Playgroud)
我检查了驱动程序,但说实话,我无法解释输出:
ogrDrivers()
name write
1 AeronavFAA FALSE
2 ARCGEN FALSE
3 AVCBin FALSE
4 AVCE00 FALSE
5 BNA TRUE
6 CSV TRUE
7 DGN TRUE
8 DXF TRUE
9 EDIGEO FALSE
10 ESRI Shapefile TRUE
11 Geoconcept TRUE
12 GeoJSON TRUE
13 Geomedia FALSE
14 GeoRSS TRUE
15 GML TRUE …Run Code Online (Sandbox Code Playgroud) 我有一些.Rdata文件包含由approxfun()定义的已保存函数.
一些保存文件在更改之前约为从"base"到"stats"的约,因此正文已经存在
PACKAGE = "base"
Run Code Online (Sandbox Code Playgroud)
错误的包导致函数失败.我可以修复(myfun)并简单地将"base"替换为"stats",但我想要一个更整洁的自动方式.
我可以用gsub()和body()以某种方式做到这一点吗?
我可以得到正文,然后替换
as.character(body(myfun))
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将其转回"呼叫"并替换定义.
(我知道更好的解决方案是保存最初由approxfun使用的数据并简单地重新创建该函数,但我想知道是否有一种合理的方法来修改现有的.)
编辑:我在这里找到了