在R中使用内联包中的cxx函数时,如何更改cpp编译器的优化标志?
默认情况下,在我的机器上,它编译-g -O2.但我想用-O3优化来提高速度.我使用Rcpp插件,如果这有任何区别.
我试过创建自己的插件,我试图设置cxx函数的不同参数,但没有任何效果.
我想一个选项是使用R CMD SHLIB而不是使用编译它cxxfunction.但是Rcpp建议使用它,inline因为他们的大多数测试用例都在使用它.
感谢您的帮助,如果您需要任何澄清,请与我们联系
替代函数以R树的形式创建一个可以解析的语言对象.如何使用列表从头开始创建树,否则将其提供给eval?
# substitute gives a tree representation of the expression
a=1; b=2;
e1 = substitute(a+2*b)
eval(e1) #gives 5 as expected
e1 # is type language
e1[[1]] # this is `+`
e1[[2]] # this is 'a' type symbol
e1[[3]] # this is type language
e1[[3]][[1]] # this is `*` etc....
Run Code Online (Sandbox Code Playgroud)
我想知道如何以e1编程方式重建对象.理想情况下,我创建了一个复杂列表的对象,其中包含正确的对象,也许我会as.language在list对象上调用一些对象.然而,这不起作用.例如:
# how to construct the tree?
eval(list(as.symbol('+'),1,1)) # does not return 2
eval(as.expression(list(as.symbol('+'),1,1))) # does not return 2
Run Code Online (Sandbox Code Playgroud)
一种方法是生成字符串'1 + 1'然后解析它,但是当你首先拥有树时,生成字符串以再次解析它们似乎并不优雅!
eval(parse(text='1+1')) …Run Code Online (Sandbox Code Playgroud) 我想在R文件夹中使用目录结构来获取包的源代码.例如,在我的R文件夹中,我有一个algos文件夹,其中包含我要导出和记录的功能.但是roxygen2,默认情况下似乎没有通过该文件R夹的子文件夹.
我试图@include在`R/algos/algo1.r'的文件中使用如下关键字
#' @include algos/algo1.r
Run Code Online (Sandbox Code Playgroud)
但没有成功.是否有一种简单的方法可以将子文件夹用于R源代码?
使用dask-jobqueue创建 dask 集群时是否可以手动指定仪表板的端口?当使用8787时,它会随机选择一个不同的端口,这意味着每次都需要设置不同的隧道。
from dask_jobqueue import PBSCluster
cluster = PBSCluster() # ideally here dashboard_port=
cluster.scale(10)
from dask.distributed import Client
client = Client(cluster) # Connect this local process to remote workers
Run Code Online (Sandbox Code Playgroud) 我有一个结构,我想从中重复访问这些字段,以将它们加载到当前空间中,如下所示(其中M是带有X和Y字段的类型):
X = M.X
Y = M.Y
Run Code Online (Sandbox Code Playgroud)
在R中,我经常使用with命令来做到这一点。现在,我只想拥有一个用于扩展该代码的宏,类似于
@attach(M,[:X,:Y])
Run Code Online (Sandbox Code Playgroud)
我只是不确定如何确切地做到这一点。