- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 R 包,并且有几个数值向量用户会经常用作各种包函数的参数。将这些向量存储在包中以便用户可以轻松访问它们的最佳方法是什么?
我的一个想法是将每个向量保存为 inst/data 中的数据文件。然后用户将能够在需要时使用数据文件的名称代替矢量(至少,我可以在开发过程中这样做)。我喜欢这个想法,但不确定这个解决方案是否会违反 CRAN 规则/规范或导致任何问题。
# To create one such vector as a data file
octants <- c(90, 135, 180, 225, 270, 315, 360, 45)
devtools::use_data(octants)
# To access this vector in usage
my_function(data, octants)
()
在函数名之后。
# To create the vector within a function
octants <- function() c(90, 135, 180, 225, 270, 315, 360, 45}
# To access this vector in usage
my_function(data, octants()) # works
my_function(data, octants) # doesn't work
最佳答案
老实说,我花了很长时间仔细阅读手册,问自己同样的问题。 做吧,好主意,好用,还有工具帮你 . Writing help extension手册描述了可以保存数据的格式,以及如何遵循 R 标准。
我建议在包中提供数据的建议是使用:
devtools::use_data(...,internal=FALSE,overwrite=TRUE)
...
是要保存的数据集的不带引号的名称。
inst
中创建一个文件包的子目录以创建数据集。我自己的例子在那里
https://github.com/cran/stacomiR/blob/master/inst/config/generate_data.R
#################################
# generates dataset for report_mig
# from the vertical slot fishway located at the estuary of the Vilaine (Brittany)
# Taxa Liza Ramada (Thinlip grey mullet) in 2015
##################################
#{ here some stuff necessary to generate this dataset from my package
# and database}
setwd("C:/workspace/stacomir/pkg/stacomir")
devtools::use_data(r_mig,internal=FALSE,overwrite=TRUE)
internal = FALSE
允许使用
data()
访问所有用户.我建议你阅读
data()
帮助文件。您可以使用
data()
访问您的文件,包括当您不在包中时,前提是它们位于数据子目录中。
If lib.loc and package are both NULL (the default), the data sets are searched for in all the currently loaded packages then in the ‘data’ directory (if any) of the current working directory.
#' Video counting of thin lipped mullet (Liza ramada) in 2015 in the Vilaine (France)
#'
#' This dataset corresponds to the data collected at the vertical slot fishway
#' in 2015, video recording of the thin lipped mullet Liza ramada migration
#'
#' @format An object of class report_mig with 8 slots:
#' \describe{
#' \item{dc}{the \code{ref_dc} object with 4 slots filled with data corresponding to the iav postgres schema}
#' \item{taxa}{the \code{ref_taxa} the taxa selected}
#' \item{stage}{the \code{ref_stage} the stage selected}
#' \item{timestep}{the \code{ref_timestep_daily} calculated for all 2015}
#' \item{data}{ A dataframe with 10304 rows and 11 variables
#' \describe{
#' \item{ope_identifiant}{operation id}
#' \item{lot_identifiant}{sample id}
#' \item{lot_identifiant}{sample id}
#' \item{ope_dic_identifiant}{dc id}
#' \item{lot_tax_code}{species id}
#' \item{lot_std_code}{stage id}
#' \item{value}{the value}
#' \item{type_de_quantite}{either effectif (number) or poids (weights)}
#' \item{lot_dev_code}{destination of the fishes}
#' \item{lot_methode_obtention}{method of data collection, measured, calculated...}
#' }
#' }
#' \item{coef_conversion}{A data frame with 0 observations : no quantity are reported for video recording of mullets, only numbers}
#' \item{time.sequence}{A time sequence generated for the report, used internally}
#' }
#' @keywords data
"r_mig"
data("r_mig")
test_that("Summary method works",
{
... #some other code
data("r_mig")
r_mig<-calcule(r_mig,silent=TRUE)
summary(r_mig,silent=TRUE)
rm(list=ls(envir=envir_stacomi),envir=envir_stacomi)
})
关于r - 如何在 R 包中存储经常使用的数据或参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47499671/
当运行 scala.util.Random().nextInt(3) 81 次时,我看到如下结果(Java 开发人员,请参阅 edit 了解这之间的关系): 200010202002112102222
在使用 native 应用程序在混合模式 C++/CLI 中调试时,我遇到了进程挂起问题。这是无法忍受的,我的调试几乎 70% 都会发生这种情况,我需要一次又一次地重新启动该过程。 是否有任何修补程序
我不知道这是一个错误还是某种误用/错误配置。希望有人能帮忙。谢谢! 如果我更改模块或 list 目录中的文件,通常会导致错误,大部分是以下类型 无法找到节点上的类 在节点上找不到定义类 当 Puppe
我是一名优秀的程序员,十分优秀!