标签: devtools

R的devtools - 使用"configure"文件从github安装

我在github上有一个使用"configure"脚本的R包(因为一些C代码依赖于GSL库).我尝试使用devtools包中的github_install()函数安装包,并获取错误:

(as ‘lib’ is unspecified)
* installing *source* package ‘wrightscape’ ...
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
Run Code Online (Sandbox Code Playgroud)

不知道该怎么做 - 有没有像github上的文件的执行权限这样的事情?这是一个devtools问题还是一个配置问题?(从源代码安装包对我来说很好).包裹在这里. https://github.com/cboettig/wrightscape

r github devtools

6
推荐指数
1
解决办法
789
查看次数

R,修改包中的函数后,修改被忽略

我在 RStudio 中创建了一个包含一些自定义函数的包。

当我更改此包中包含的函数中的某些内容时,我使用“构建”选项卡中的“构建和重新加载”来重建包,希望此操作“更新”它。

这通常可以完美运行。然而,有一种功能没有发生。如果我打开function.R文件,修改就在那里;但是,当我从控制台或脚本调用它时,会加载旧版本。我尝试了一些简单的方法,例如重新启动和“清理和重建”。我尝试删除它,重建并再次添加它,但即使在这种情况下,令人惊讶的是,旧版本也被加载了。

我注意到这个函数看起来与包中的其他函数不同的唯一一件事是: 截屏 我试图调查这个,但我仍然缺乏必要的一般理解,我什至不确定这种差异是否真的与问题有关。

备注1:全局环境为空,所以不屏蔽函数。备注2:search()路径是(包名是SDA,在第二位):

> search()
 [1] ".GlobalEnv"        "package:SDA"       "package:splines"   "tools:rstudio"     "package:stats"     "package:graphics"  "package:grDevices" "package:utils"    
 [9] "package:datasets"  "package:methods"   "Autoloads"         "package:base" 
Run Code Online (Sandbox Code Playgroud)

注意:我正在使用包“devtools”进行开发。

r function devtools package rstudio

6
推荐指数
1
解决办法
2610
查看次数

在CMD检查期间,Roxygen示例中的“找不到功能”

我正在RStudio中的一个软件包上运行CMD检查,其中的一部分分析@examples了内联Roxygen文档中的内容。

我收到此错误:

checking examples ... ERROR
Running examples in ‘packagename-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: checkDate
> ### Title: Ensure that a date string is a valid date
> ### Aliases: checkDate
> 
> ### ** Examples
> 
> checkDate("2017-05-06")
Error: could not find function "checkDate"
Run Code Online (Sandbox Code Playgroud)

在我的.R文件中,文档定义为:

#' Ensure that a date string is a valid date
#'
#' @param dateString A string (eg. "2017-12-04").
#' @return …
Run Code Online (Sandbox Code Playgroud)

r devtools roxygen2

6
推荐指数
1
解决办法
1038
查看次数

NAMESPACE 中的 S3methods 未导出

我正在R使用 devtools::document()开发一个包来创建 NAMESPACE 文件。其中一些函数是 S3methods,用于摘要、预测、绘图、打印,其中泛型在base或 中stats。我正在按照 Hadley 的建议使用 @export,这会导致 NAMESPACE 中的 S3method 条目正确,并且包通过了所有检查 -as-cran。但是,这些函数未在 NAMESPACE 中导出,因此未找到调用 print.myclass(我理解这是避免混乱 NAMESPACE 所需的行为)。但是,通过 Mypackage::print.myclass 调用该函数也会导致该函数不是从 导出的对象的错误Mypackage

问题:这是正确的行为吗?或者是否需要其他步骤才能导出该函数?我曾尝试添加 @method print Myclass 和 @export 但没有运气。devtools在 MAC OS X 10.12.6 下使用 R 3.4.2 和1.13.3

谢谢!梅丽丝

编辑:更新为具有将添加/导出方法和导出功能的代码

简单示例 - 在 RStudio 中构建一个具有以下功能的骨架包:

#' test for export of S3 methods
#'
#' @title "print hello world for any object"
#' @param x object
#' @param digits optional number specifying …
Run Code Online (Sandbox Code Playgroud)

namespaces r devtools

6
推荐指数
1
解决办法
1002
查看次数

R如何在加载时使变量可用于命名空间

在我的一个包中,我使用.onAttach钩子来运行一些R代码,然后使用它assign来使值可用作包变量之一.我这样做是因为variable取决于某个文件的内容,它可以在一个会话和另一个会话之间切换.我使用的代码如下:

.onAttach <- function(libname, pkgname) {
   variable <- some_function()
   assign("variable", variable, envir = as.environment("package:MyRPackage"))
}
Run Code Online (Sandbox Code Playgroud)

当我附上包装时library(MyRpackage)我可以使用variable.

然而,不可能做类似的事情MyRPackage::variable(除非我已经附上了包library(MyRpackage).

我知道这是因为我应该将该代码放在.onLoad钩子中,但是我无法进行赋值以使其工作.

我试过了

.onLoad <- function(libname, pkgname) {
   variable <- some_function()
   assign("variable", variable, envir = as.environment("namesoace:MyRPackage"))
}
Run Code Online (Sandbox Code Playgroud)

.onLoad <- function(libname, pkgname) {
   variable <- some_function()
   assign("variable", variable, envir = asNamespace("MyRPackage"))
}
Run Code Online (Sandbox Code Playgroud)

但是当我在MyRPackage:::variable不使用library附加包的情况下运行时,它们都会失败并出现一些错误.

在.onLoad钩子中进行赋值的正确方法是什么?

r devtools r-package

6
推荐指数
2
解决办法
614
查看次数

检查包含生成函数的包的问题

我希望我知道如何使这个例子更小,但我不能很好地理解这个问题.

我有一个包重写R函数使它们尾递归:tailr.它对递归函数进行了一些分析,然后将其转换为循环函数.例如,它将转换此阶乘函数

factorial <- function(n, acc) {
    if (n <= 1) acc
    else factorial(n - 1, acc * n)
}
Run Code Online (Sandbox Code Playgroud)

进入这个版本

factorial <- function(n, acc) {
    .tailr_n <- n
    .tailr_acc <- acc
    callCC(function(escape) {
        repeat {
            n <- .tailr_n
            acc <- .tailr_acc
            if (n <= 1)
                escape(acc)
            else {
                .tailr_n <<- n - 1
                .tailr_acc <<- acc * n
            }
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

生成的函数并不漂亮,但确实有效.

我的问题是如果我编写一个使用转换的包,只包含R的这些行:

#' Computes the factorial.
#' @param n A number
#' @param acc Accumulator …
Run Code Online (Sandbox Code Playgroud)

r devtools rlang

6
推荐指数
0
解决办法
83
查看次数

Firefox 检查器 - 使用 CTRL + Z 撤消 CSS 声明

使用ChromeIE11EDGE并在开发人员工具中修改 CSS 时,您可以按 撤消规则/声明CTRL + Z

例如:编辑margin: 16pxmargin: 14pxI 应该能够用 来还原更改CTRL + Z并用CTRL + Y.

我还没有找到在 Firefox 中执行此操作的方法,甚至还没有找到要求添加它的人。这是阻止我在开发中使用 Firefox 的唯一原因。

有没有办法获得这个功能,或者是从 Mozilla 团队请求它的问题?

css firefox undo devtools

6
推荐指数
1
解决办法
276
查看次数

在R中安装devtools的问题

尝试安装devtools,但不断出现错误

Error : object ‘glue_collapse’ is not exported by 'namespace:glue' ERROR: lazy loading failed for package ‘usethis’

以下是完整的错误代码:

> install.packages('devtools', repos='http://cran.rstudio.com/')
also installing the dependency ‘usethis’


  There are binary versions available but
  the source versions are later:
         binary source needs_compilation
usethis   1.4.0  1.5.0             FALSE
devtools 1.13.6  2.0.2             FALSE

installing the source packages ‘usethis’, ‘devtools’

trying URL 'http://cran.rstudio.com/src/contrib/usethis_1.5.0.tar.gz'
Content type 'application/x-gzip' length 393903 bytes (384 KB)
==================================================
downloaded 384 KB

trying URL 'http://cran.rstudio.com/src/contrib/devtools_2.0.2.tar.gz'
Content type 'application/x-gzip' length 388141 bytes (379 KB) …
Run Code Online (Sandbox Code Playgroud)

r devtools

6
推荐指数
1
解决办法
1710
查看次数

是否有任何替代远程调试服务器的方法(如 Weinre)

我正在寻找更现代的 Weinre 替代品

  • Weinre 已经有大约 3 年没有支持
  • Weinre 允许我生成一个本地服务器(例如:http : //192.168.0.1 : 8888)专用于远程调试
    • 有很多不错的选择,比如devtool,但是……它们不允许你挂载本地服务器

温雷

我寻找远程调试系统的原因是因为我希望能够从一个平板电脑调试到另一个平板电脑,第一个平板电脑从 URL 运行“devtools”,第二个平板电脑与我的页面进行调试

Chrome USB 调试等工具只能在插入手机的 PC 上运行,而不能通过互联网从手机到另一部手机

你知道任何允许我创建 devtools 服务器的包吗?

remote-debugging devtools

6
推荐指数
1
解决办法
534
查看次数

R - 找不到 -llapack &amp; 找不到 -lblas

由于某些原因,我无法安装 openair:

sudo su - -c "R -e \"devtools::install_github('davidcarslaw/openair')\""
Run Code Online (Sandbox Code Playgroud)

结果:

Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
* installing *source* package ‘openair’ ...
** using staged installation
** libs
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG  -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-V0XiTa/r-base-3.6.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c cluster.cpp -o cluster.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG  -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-V0XiTa/r-base-3.6.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c init.c -o init.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG  -I"/usr/local/lib/R/site-library/Rcpp/include"   -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-V0XiTa/r-base-3.6.1=. -fstack-protector-strong -Wformat -Werror=format-security …
Run Code Online (Sandbox Code Playgroud)

r devtools openair

6
推荐指数
2
解决办法
2738
查看次数