gpt4 book ai didi

r - 如何使用 utils::globalVariables

转载 作者:行者123 更新时间:2023-12-03 23:14:38 25 4
gpt4 key购买 nike

按照您的建议(或至少尝试这样做),我尝试了一些选项,但问题仍然存在,所以一定有我遗漏的东西。
我已经包含了更完整的代码

setwd("C:/naapp")
#' @import utils
#' @import devtools
我尝试过使用和不使用suppressForeignCheck
if(getRversion() >= "2.15.1"){

utils::globalVariables(c("eleven"))
utils::suppressForeignCheck(c("eleven"))

}


myFunctionSum <- function(X){print(X+eleven)}

myFunctionMul <- function(X){print(X*eleven)}

myFunction11 <- function(X){
assign("eleven",11,envir=environment(myFunctionMul))
}
也许我应该使用特定的环境?
package.skeleton(name = "myPack11", list=ls(),
path = "C:/naapp", force = TRUE,
code_files = character())
我从目录 myPack11 中删除“man”目录,
否则我会得到一个错误,因为帮助文件是空的。
我将导入工具和开发工具添加到描述中
然后我运行检查
devtools::check("myPack11")
我仍然收到这张纸条
#checking R code for possible problems ... NOTE
#myFunctionMul: no visible binding for global variable 'eleven'
#myFunctionSum: no visible binding for global variable 'eleven'
#Undefined global functions or variables:eleven
我也尝试制作一个环境,结合 Tomas Kalibera 的建议和我在互联网上找到的一个例子。
myEnvir <- new.env()
myEnvir$eleven <- 11
ETC
在这种情况下,我得到相同的注释,但使用“myEnvir”,而不是“十一”

问题的第一版
我尝试使用包 utils 中的“globalVariables”。我正在 R 中构建一个界面,并计划提交给 CRAN。这是我第一次,所以,如果问题非常基本,对不起。我已经阅读了帮助,我试图找到例子,但我仍然不知道如何使用它。
我做了一个小例子来说明我的问题,即:
我必须在哪里准确放置这条线?:
if(getRversion() >= "2.15.1"){utils::globalVariables("eleven")}
我的示例具有三个功能。 myFunction11 创建全局变量“十一”,其他两个函数对其进行操作。在我的真实代码中,我不能在通过按钮调用的函数中使用参数。考虑到这只是一个学习如何使用 globalVariables 的愚蠢示例(以避免绑定(bind)注释)。
myFunction11 <- function(){

assign("eleven",11,envir=environment(myFunctionSum))

}

myFunctionSum <- function(X){

print(X+eleven)

}

myFunctionMul <- function(X){

print(X*eleven)

}
先感谢您

最佳答案

我以为使用 globalsVariables 时会自动生成文件 globals.R。问题是我需要创建包骨架,然后创建文件globals.R,将其添加到包中的R目录并检查包。

所以,我需要把它放在一个不同的文件中:

#' @import utils 
utils::globalVariables(c("eleven"))

并保存

关于r - 如何使用 utils::globalVariables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40251801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com