小编lan*_*dau的帖子

R file.mtime()在Mac OS和Windows 7上的精度极差

在Windows 7和Mac OS 10.12.2(使用R 3.3.2)上,似乎file.mtime()严重舍入或截断时间戳.我确认file.create("my_file.txt"); print(as.numeric(file.mtime("my_file.txt")), digits = 22)在Linux上打印出小数点后的几位数字,但是在Windows 7上,所有超过小数的数字都会消失my_file.txt.Mac OS 10.12.2的行为与Windows 7类似.是否有一种独立于平台的方法来获取R中的精确文件时间戳?

timestamp r filemtime

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

获取R函数的参数名称

对于任意函数

f <- function(x, y = 3){
  z <- x + y
  z^2
}
Run Code Online (Sandbox Code Playgroud)

我希望能够采用参数名称 f

> argument_names(f)
[1] "x" "y"
Run Code Online (Sandbox Code Playgroud)

这可能吗?

expression r function non-standard-evaluation

14
推荐指数
1
解决办法
3976
查看次数

Rmarkdown ioslides允许框架替代方案

在Rmarkdown ioslides中是否有相当于Beamer的allowframebreaks?这是自动生成的BibTex参考书目的关键,它可以分配一张幻灯片.

以下MWE说明了我试图解决的问题.文本在页面上运行,我正在寻找一种方法来自动将其分解成适合内容的许多幻灯片.

---
title: "Allowframebreaks in ioslides?"
output: ioslides_presentation
---

## 

Duis diam ultricies mauris aptent enim velit consequat dolor Vivamus Praesent Nam. Duis Ut convallis leo sodales lacus blandit aliquam penatibus sed netus Ut. Dis id sed fringilla Praesent Suspendisse velit erat imperdiet vehicula ultricies eget adipiscing tellus. Montes maximus semper pulvinar Vivamus mollis non accumsan lacinia scelerisque efficitur ut dictum.

Vivamus euismod ultrices amet dis Aliquam Suspendisse sit faucibus nec nisi aptent orci aliquam. Porta arcu luctus …
Run Code Online (Sandbox Code Playgroud)

r bibtex rstudio r-markdown

13
推荐指数
1
解决办法
433
查看次数

使用CUDA和Rcpp构建一个小型R包

我正在研究一个使用CUDA和Rcpp 的微型R包,它是根据输出改编的Rcpp.package.skeleton().我将首先描述主分支上标题为"fixed namespace"的提交.如果我忘记了CUDA,那么包安装成功(即,如果我删除src/Makefile,将src/rcppcuda.cu更改为src/rcppcuda.cpp,并注释掉定义和调用内核的代码).但是原样,编译失败了.

我也想知道如何使用Makevars或Makevars.in而不是Makefile进行编译,并且通常尝试将其作为平台独立实现.我在R扩展手册中读过关于Makevars的内容,但我仍然无法使其工作.

你们中的一些人可能会建议rCUDA,但我真正想要的是改进我已经开发了一段时间的大包装,而且我不确定切换是否值得从头开始.

无论如何,这是当我做一个R CMD buildR CMD INSTALL这一个(主分支,提交标题为"固定名称空间")时发生的事情.

* installing to library ‘/home/landau/.R/library’
* installing *source* package ‘rcppcuda’ ...
** libs
** arch - 
/usr/local/cuda/bin/nvcc -c rcppcuda.cu -o rcppcuda.o --shared -Xcompiler "-fPIC" -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -I/apps/R-3.2.0/include -I/usr/local/cuda/include 
rcppcuda.cu:1:18: error: Rcpp.h: No such file or directory
make: *** [rcppcuda.o] Error 1
ERROR: compilation failed for package ‘rcppcuda’
* removing ‘/home/landau/.R/library/rcppcuda’
Run Code Online (Sandbox Code Playgroud)

...这很奇怪,因为我确实包含了Rcpp.h,并且安装了Rcpp.

$ …
Run Code Online (Sandbox Code Playgroud)

cuda r rcpp

11
推荐指数
1
解决办法
2292
查看次数

无法在Travis上使用devtools安装R软件包

Travis CI为drakeR软件包手册 构建的过程最近开始失败

Downloading GitHub repo ropensci/drake@master
Error: Could not find tools necessary to compile a package
In addition: Warning message:
In get0(oNam, envir = ns) : internal error -3 in R_decompress1
Execution halted
The command "Rscript -e 'deps <- devtools::dev_package_deps(dependencies = NA);devtools::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages()), collapse=", ")); q(status = 1, save = "no")}'" failed and exited with 1 during .
Run Code Online (Sandbox Code Playgroud)

尝试使用和的开发版本,devtools并且pkgload更改错误 …

r devtools travis-ci

10
推荐指数
1
解决办法
441
查看次数

构建一个R包tarball而不在tarball中泄露您的用户名

R CMD build,用户的ID自动插入到DESCRIPTION文件中.这是有问题的,因为我在公司计算环境中工作,我不想透露我的用户ID.

可重复的例子:

git clone git@github.com:tidyverse/reprex
R CMD build reprex
rm -rf reprex
tar -xf reprex*tar.gz
grep Packaged reprex/DESCRIPTION
Run Code Online (Sandbox Code Playgroud)

当前输出:

Packaged: 2018-11-06 14:01:50 UTC; <MY USER ID>
Run Code Online (Sandbox Code Playgroud)

期望的输出

Packaged: 2018-11-06 14:01:50 UTC; 
Run Code Online (Sandbox Code Playgroud)

r r-package

9
推荐指数
1
解决办法
127
查看次数

更快的替代 deparse()

我维护一个依赖于重复调用的包deparse(control = c("keepNA", "keepInteger"))control总是一样的,表达方式各不相同。deparse()似乎花了很多时间反复解释相同的选项集.deparseOpts()

microbenchmark::microbenchmark(
    a = deparse(identity, control = c("keepNA", "keepInteger")),
    b = .deparseOpts(c("keepNA", "keepInteger"))
)
# Unit: microseconds
# expr min  lq  mean median  uq  max neval
#    a 7.2 7.4 8.020    7.5 7.6 55.1   100
#    b 3.0 3.2 3.387    3.4 3.5  6.0   100
Run Code Online (Sandbox Code Playgroud)

在某些系统上,冗余.deparseOpts()调用实际上占据了deparse()此处火焰图)的大部分运行时间。

我真的很想只调用.deparseOpts()一次,然后将数字代码提供给deparse(),但如果不.Internal()直接调用或调用 C 代码,这似乎是不可能的,从包开发的角度来看,这两种代码都不是最佳的。

deparse
# function (expr, width.cutoff = 60L, …
Run Code Online (Sandbox Code Playgroud)

r

9
推荐指数
1
解决办法
162
查看次数

如果更改了不重要的文件,请跳过travis构建

我使用与Travis的持续集成来在每次提交时运行我的单元测试.但是,有时我想要做的就是编辑自述文件.如果所有更改都限制在白名单文件集中,是否有办法跳过Travis构建?

travis-ci

8
推荐指数
1
解决办法
767
查看次数

错误:找不到 TensorFlow 的安装

概述

我在从tensorflowR 包加载 Python TensorFlow 时遇到问题。

library(tensorflow)
sess <- tf$Session()
#> Error: Installation of TensorFlow not found.
#> 
#> Python environments searched for 'tensorflow' package:
#>  /home/[username]/anaconda3/envs/r-tensorflow/bin/python3.7
#>  /usr/bin/python2.7
#>  /usr/bin/python2.7
#>  /usr/bin/python3.4
#>  /home/[username]/anaconda3/bin/python3.7
#>  /[censored]/apps/python/python-3.6.5/bin/python3.6
#> 
#> You can install TensorFlow using the install_tensorflow() function.
Run Code Online (Sandbox Code Playgroud)

我有 Anaconda 3、Python 3.7.3 和 R 3.6.0 的全新本地安装。我通过调用tensorflow::install_tensorflow()一个没有参数的新 R 会话来安装 TensorFlow 。

有关的

我知道相关的主题和文章,包括这些。

我阅读了它们并尝试了这些建议,但仍然遇到相同的错误。

配置

reticulate::py_module_available("tensorflow")
#> FALSE
reticulate::conda_list()
#> …
Run Code Online (Sandbox Code Playgroud)

r tensorflow

8
推荐指数
1
解决办法
5036
查看次数

多个源顶点的子组件(mode ="in")

igraphR包中,是否有一个subcomponent()可以处理多个源顶点的有效实现和/或BFS?

动机

drake[R包装机型用户的工作流程是相互依存的对象和文件的DAG.DAG应该只包含用户的目标及其上游依赖项,因此drake用于igraph::subcomponent()消除多余的顶点.这种方法效率很低,因为v参数必须是单个顶点,因此drake最终会为用户想要构建的每个目标执行新的BFS.

编辑:2019-01-10

drake现在使用一种不同的方法,最终依赖于顺序调用adjacent_vertices().这种方法很笨重,但速度提升实际上非常好.仍然坚持更优雅和精致的东西.

r igraph ropensci drake-r-package

7
推荐指数
1
解决办法
146
查看次数