标签: r-package

如何自动加载R中的包?

你能建议我自动在R中加载包裹的方法吗?我的意思是,我想在R中开始一个会话,而不需要library('package name')多次使用.假设我下次启动R时下载了我想要使用的所有软件包.

r loading defaults r-faq r-package

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

如何使用roxygen记录数据集?

是否可以在roxygen过程中将.R文件包含在我的包的数据目录中?

我在数据目录中放了几个.R文件.当它们使用data()获取时,它们会读入原始数据文件并执行一些转换.

r documentation-generation roxygen r-package

51
推荐指数
3
解决办法
9676
查看次数

检查CRAN传入的可行性...注意维护者

当我R CMD check --as-cran 在我的包装上运行时,我仍然得到的一个注释是:

checking CRAN incoming feasibility ... NOTE 
Maintainer:[my name] <my email>
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到对这个笔记的一个很好的解释,虽然我没有读过任何告诉我应该关注它的东西.和其他人一样碰到这个?我能做些什么来清除音符吗?

r cran r-package

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

创建本地R包存储库

我想创建一个本地R包存储库,以便我公司的用户可以从中安装包,系统管理员可以定期更新本地存储库.目前拒绝访问CRAN镜像.

有一个简单的方法吗?

r r-package

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

将对象添加到包命名空间

我想在一个包命名空间中推送一个函数,以便它可以访问该包的内部对象(让我们使用stats包作为例子).我试过用了

myfun <- function(x) print(x)
env = loadNamespace("stats")
assign("myfun", myfun , env)
Run Code Online (Sandbox Code Playgroud)

但它被锁定了.所以我试图解锁我的对象

unlockBinding("myfun", env)
Run Code Online (Sandbox Code Playgroud)

由于myfun尚不存在,我无法解锁.

有帮助吗?

r r-package

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

R:如何在加载包时运行一些代码?

我正在学习为R构建一个包.现在要设置它,我需要在加载包时运行一些代码require(myPackage).

我阅读的文档help(".onLoad")只是让我感到困惑,因为没有例子.我如何实际使用.onLoad

有人能告诉我一个简单的例子吗?例如,我知道export(myfun)在NAMESPACE文件中将导出myfun以供使用,我需要rnorm(10)在包加载时运行的代码是什么?

r r-package

35
推荐指数
1
解决办法
5060
查看次数

哪个是存储用于R包的插图中的图像的正确文件夹?

我正在为我的R包写一个小插图.我想在.Rmd文件中包含.jpg图像,该文件将生成pdf晕影.问题是:我应该在哪里存储这张图片?

我正在使用这些包devtoolsknitr生成小插曲(遵循@hadley书籍链接的建议).因此,我的包结构中有文件夹晕影.我应该在那里包含文件吗?或者我应该将图像包含在'inst/images'内的新文件夹中,如同在晕影中使用的外部数据(也是由@hadley:link推荐)?

提前感谢任何建议.干杯

r devtools knitr r-package

20
推荐指数
2
解决办法
1916
查看次数

在 Apple 芯片(Big Sur、Monterey、Ventura)上为 Rcpp 和其他工具配置编译器

我正在尝试Rcpp在我的 M1 Mac 上使用 R 中需要的软件包,但在购买这台计算机后我一直无法启动并运行它。我将其更新到蒙特利,希望这能解决一些安装问题,但事实并非如此。我尝试从此页面Rcpp运行检查,但出现以下错误:

\n
> Rcpp::sourceCpp("~/github/helloworld.cpp")\n
Run Code Online (Sandbox Code Playgroud)\n
ld: warning: directory not found for option \'-L/opt/R/arm64/gfortran/lib/gcc/aarch64-apple-darwin20.2.0/11.0.0\'\nld: warning: directory not found for option \'-L/opt/R/arm64/gfortran/lib\'\nld: library not found for -lgfortran\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\nmake: *** [sourceCpp_4.so] Error 1\nclang++ -arch arm64 -std=gnu++14 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include   -I"/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/Rcpp/include" -I"/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/RcppArmadillo/include" -I"/Users/afredston/github" -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -c helloworld.cpp -o helloworld.o\nclang++ -arch arm64 -std=gnu++14 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined …
Run Code Online (Sandbox Code Playgroud)

macos r build r-package apple-silicon

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

R中的掩蔽方法

这个问题,特别是这个答案提出了以下问题:如何得到关于R中方法掩码的警告?

如果在干净的R会话中运行以下代码,您会注意到加载dplyr更改了默认方法lag.

lag(1:3, 1)
## [1] 1 2 3
## attr(,"tsp")
## [1] 0 2 1
require(dplyr)
lag(1:3, 1)
## [1] NA  1  2
Run Code Online (Sandbox Code Playgroud)

如果附加了包dplyr,则会获得几个被屏蔽对象的警告,但是没有关于lag被屏蔽的默认方法的警告.原因是在调用时,调用包中lag的泛型函数stats.

lag
## function (x, ...) 
## UseMethod("lag")
## <bytecode: 0x000000000c072188>
## <environment: namespace:stats>
Run Code Online (Sandbox Code Playgroud)

methods(lag)告诉我有一种方法lag.default.我可以看到有两种方法使用getAnywhere:

getAnywhere(lag.default)
## 2 differing objects matching ‘lag.default’ were found
## in the following places
## registered S3 method for lag …
Run Code Online (Sandbox Code Playgroud)

r dplyr r-package

17
推荐指数
2
解决办法
1388
查看次数

包开发:多个文件或单个文件

我一直在寻找一堆不同的软件包,我注意到确实没有一个简洁明了的函数存储方法.一些包作者将所有这些包装在一个文件中,而其他作者将它们分成单个文件.

我已阅读了许多软件包创建指南,但没有提供具体的指导或建议.

很想听听你对此的看法.

r r-package

16
推荐指数
2
解决办法
1529
查看次数