registerDoParallel,build,

registerDoParallel函数用于设置并行计算的后端,特别是在多核或分布式计算环境中。RCMDcheck和RCMDbuild是R包构建和检查的工具,确保包的正确性和兼容性。此外,文章还提及了模型公式在统计建模中的应用,以及一个使用贝叶斯空间-时间模型对曲线进行建模的函数。
摘要由CSDN通过智能技术生成

registerDoParallel

registerDoParallel function - RDocumentation

cl一个由makeCluster返回的集群对象,或者在集群中要创建的节点数量。如果没有指定,在Windows上会创建并使用一个三个工作群组。

Cores:用于并行执行的内核数量。如果没有指定,核心数将被设置为options("cores")的值,如果指定的话,或者设置为并行包检测到的核心数的二分之一。

R 2.14.0及以后版本的并行包提供了在具有多个内核或处理器或多台计算机的机器上并行执行R代码的功能。它本质上是snow和multicore包的融合。默认情况下,doParallel包使用类似雪的功能。类似雪的功能在类似Unix的系统上应该可以正常工作,但类似多核的功能在Windows系统上只限于单个顺序工作者。在运行类Unix操作系统的多核工作站上,系统fork调用被用来生成当前进程的副本。

doParallel后端支持通过foreach函数传递的多核和雪地选项。支持的多核选项有preschedule、set.seed、silent和cores,它们类似于mclapply的类似参数,并通过foreach的.options.multicore参数传递。支持的snow选项是preschedule,它和它的多核参数一样,可以用来分割任务,这样每个工作者都能得到预先安排好的任务块,还有attachExportEnv,它可以用来在R的词法范围无法找到所需出口的情况下附加出口环境。Snow选项使用.options.snow参数传递给foreach。

函数stopImplicitCluster可以用在vignettes和其他需要明确关闭隐式创建集群的地方。

2.build

构建和检查附加包的实用程序描述用于检查R附加包的源码是否正常工作,以及从源码中建立一个源码包的实用程序。

使用方法

R CMD check [options] pkgdirs

R CMD build [options] pkgdirs

参数

pkgdirs

一个包含 R 附加包来源的目录名称列表。对于检查来说,这些也可以是以'.tar.gz'、'.tgz'、'.tar.bz2'或'.tar.xz'为扩展名的压缩tar档案的文件名。

选项   

进一步的选项,用于控制处理过程,或者用于获取关于该工具的用法和版本的信息。

详情

R CMD check 从源头上检查R的附加包,执行各种诊断性检查。

R CMD build 构建R的源代码压缩包。包的名称来自 "DESCRIPTION "文件,而不是目录名称。这完全是在提供的源代码目录的副本上工作。

使用R CMD foo --help来获得关于实用程序foo的使用信息。

R CMD构建的一些选项的默认值可以通过环境变量_R_BUILD_RESAVE_DATA_和_R_BUILD_COMPACT_VIGNETTES_设置:见 "编写R扩展"。R CMD检查中的许多检查可以通过环境变量来关闭或打开:见 "R内部 "手册的 "工具 "一章。

默认情况下,R CMD构建使用tar的 "内部 "选项来准备tar球。可以通过R_BUILD_TAR环境变量指定一个外部tar程序。这对于非常大的软件包来说可能会快得多,而且对于有长路径名称(超过100字节)或非常大的文件(超过8GB)的软件包来说是需要的:然而,产生的焦油球可能无法移植。

R CMD 检查默认使用内部的 untar 函数来解压缩 tar 包:如果需要,可以通过环境变量 R_INSTALL_TAR 来指定一个外部的 tar 命令:请确保它能处理 tar 包上使用的压缩类型。 有时需要对包含无效或不支持的部分的 tar 包进行压缩,而且对非常大的 tar 包会更快。将 R_INSTALL_TAR 设置为 "tar.exe "是为了克服某些 Windows 系统上的权限问题)。

注意

仅在Windows上。它们使用环境变量TMPDIR指定的临时目录,默认为 "c:/TEMP"。如果设置了正斜杠,请确保使用正斜杠。

另见

编写R扩展》中关于 "检查和构建包 "和 "处理Rd格式 "的章节(在Unix-alikes上见R源树的'doc/manual'子目录,在Windows上,见控制台帮助菜单的Manuals子菜单)。

3. formula

模型公式

描述通用函数公式和它的特定方法提供了一种提取已经包含在其他对象中的公式的方式。

as.formula几乎是相同的,另外,当对象已经继承了 "formula "时,还保留了属性。

使用方法

formula(x, ...)

DF2formula(x, env = parent.frame())

as.formula(object, env = parent.frame())

## S3方法为类'公式'

print(x, showEnv = !"identical(e, .GlobalEnv), ...)

x, object    

R对象,用于DF2formula()的一个数据框。

...  

传递给其他方法或来自其他方法的进一步参数。

env     

与结果相关的环境,如果不是一个公式的话。

showEnv   

表示环境是否也要被打印出来的逻辑。

由lm和glm函数等拟合的模型是以一种紧凑的符号形式指定的。~操作符是形成这种模型的基本条件。y~model形式的表达式被解释为响应y被model符号化的线性预测器所模拟。这样的模型由一系列用+运算符分隔的项组成。这些术语本身由变量和因子的名称组成,并由操作符分隔。这样的术语被解释为出现在该术语中的所有变量和因子的交互。

除了+和:,还有一些其他运算符在模型公式中也很有用。

*运算符表示因子交叉:a*b被解释为a + b + a:b。

^操作符表示交叉到指定的程度。例如,(a+b+c)^2与(a+b+c)*(a+b+c)是相同的,而(a+b+c)*(a+b+c)则扩展为包含a、b和c及其二阶相互作用的主要效应的公式。

%in%操作符表示它左边的项嵌套在右边的项中。例如,% a中的a + b %展开为公式a + a:b。

运算符/提供了一个简写,因此a / b等价于% a中的a + b %。

运算符-删除了指定的项,因此(a+b+c)^2 - a:b与a+b+c +b:c + a:c相同。它也可以用来去除截距项:拟合线性模型时,y ~ x - 1表示一条经过原点的直线。没有截距的模型也可以指定为y ~ x + 0或y ~ 0 + x。

虽然公式通常只涉及变量和因子名称,但它们也可以涉及算术表达式。公式log(y) ~ a + log(x)是相当合法的。当这种算术表达式涉及在模型公式中也象征性地使用的运算符时,算术运算符和符号运算符的使用可能会混淆。

为了避免这种混淆,可以使用函数I()来括起模型公式中运算符在算术意义上使用的部分。例如,在公式y ~ a + I(b+c)中,项b+c可以解释为b和c的和。

变量名在公式中可以用反引号“像这样”来引用,尽管不能保证所有使用公式的代码都会接受这样的非语法名称。

大多数模型拟合函数接受右边包含函数偏移量的公式,以表示具有固定系数为1的项。一些函数接受其他“特殊类型”,如strata或cluster(参见terms.formula的特殊类型参数)。

有两种特殊的解释。用公式表示。通常是在模型拟合函数的数据参数的上下文中,表示“公式中没有其他字段的所有列”:参见terms.formula。在更新的上下文中。公式,只是,它的意思是'之前在公式的这一部分中的东西'

当在拟合的模型对象上调用formula时,要么使用特定的方法(例如类“nls”),要么使用默认方法。默认值首先查找对象的“formula”组件(并对其求值),然后是“terms”组件,然后是调用的公式参数(并对其值求值),最后是“formula”属性。

数据帧有一个公式方法。当有带有公式的"terms"属性时,例如,对于model.frame(),则返回该公式。如果您喜欢前面的(R \le≤3.5.x)行为,请使用辅助d2formula(),它不考虑“terms”属性。否则,如果只有一列,则形成RHS和空LHS。对于更多的列,第一列是公式的LHS,其余列由+组成RHS。

上面的所有函数都生成一个“formula”类对象,其中包含一个符号模型公式。

# Program: bayesianSTmodel.R

# Objective: modelling of curves according to a bayesian 根据贝叶斯空间-时间模型对曲线进行建模spatio-temporal model

#' 一个使用空间-时间贝叶斯建模的函数,使用\code{link[=CARBayesST]{CARBayesST}}库建立曲线模型。

#' @param datain 输入参数的数据帧

#' @param xvar character, time variable (ex: thermalTime)

#' @param trait 字符,感兴趣的参数(例如:plantHeight)。

#' @param k numeric, 要返回的最近的邻居的数量

#' @param graphDist 逻辑的,显示距离的图形

#' @param burnin 丢弃的MCMC样本数,作为预备期。

#' @param n.sample 要生成的MCMC样本的数量

#' @param formulaModel 使用lm()函数的语法计算模型的协变量部分的公式,见 \code{link[=ST.CARanova]{ST.CARanova}帮助

#' @param typeModel 字符,模型的选择, \code{anova}, \code{linear} 或 \code{ar}。

#' @param verbose 逻辑上默认为FALSE,如果为TRUE则显示进度信息

#' @details 输入的数据集必须包含Position、Line、Ref、scenario、genotypeAlias列。该函数不是通用的,需要输入数据集中的特定列名。请看一下本例中使用的数据集的结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值