Julia看起来很有希望进行快速和语法理智的计算(例如这里),但我怀疑它在整体统计工作流程方面还不会在R附近.所以我想在C++主要用于R程序的地方使用它:优化代码的慢速部分.然而,在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段的设施是什么.
所以:
我想从R调用Julia,就像Rcpp现在允许从R内部调用C++一样.我不想从朱莉娅那里打电话给R. (所以RCall.jl不起作用)
我一直在寻找这个问题的答案,所以我希望有人可以帮助我.我在R中的fpc库中使用dbscan.例如,我正在查看USArrests数据集,并在其上使用dbscan,如下所示:
library(fpc)
ds <- dbscan(USArrests,eps=20)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,选择eps仅仅是通过反复试验.但是,我想知道是否有可用于自动选择最佳eps/minpts的功能或代码.我知道有些书建议制作一个与最近邻居的第k个分类距离的图.也就是说,x轴表示"根据到第k个最近邻居的距离排序的点",并且y轴表示"第k个最近邻居距离".
这种类型的绘图有助于为eps和minpts选择合适的值.我希望我已经为某人提供了足够的信息来帮助我.我想张贴一张我的意思,但我仍然是新手,所以暂不发布图像.
我想尝试使用Julia编程语言,因为我听说它应该比Python更快.我决定为Project Euler#14尝试一个动态程序,因为它处理了大量计算(找到最长的Collatz序列).
我在Julia中为它编写了一个程序,然后决定尝试在Python中创建一个类似的程序,所以看看它们的速度有多快.然而,在我的机器上,Python程序在大约2秒内运行,而Julia大约需要7秒.这让我感到惊讶,因为正如我之前所说的Julia声称要比Python更快,所以我想知道是否有任何固有的东西这些脚本让Julia的速度变慢了.我试图以相同的方式计算它们.
这是脚本,我将不胜感激!
朱莉娅:
global max_val = 0
global max_item = 0
global d = Dict{Integer,Integer}()
function coll_length(n)
#println(n)
global max_val
global max_item
global d
if haskey(d,n)
return d[n]
end
if n==1
answer = 1
elseif n%2==1
answer = 1+coll_length(3n+1)
else
answer = 1+coll_length(n/2)
end
d[n]=answer
if max_val<answer
max_val=answer
max_item=n
end
return answer
end
for i = 1:1000000
coll_length(i)
end
println(max_item)
Run Code Online (Sandbox Code Playgroud)
蟒蛇:
d = {}
max_val = 0
max_item = 0
def coll_length(n):
global d
global max_val …Run Code Online (Sandbox Code Playgroud) 作为一个OpenMP&Rcpp性能测试,我想检查我使用最简单和简单的Rcpp+ OpenMP实现来计算R中Mandelbrot集的速度.目前我所做的是:
#include <Rcpp.h>
#include <omp.h>
// [[Rcpp::plugins(openmp)]]
using namespace Rcpp;
// [[Rcpp::export]]
Rcpp::NumericMatrix mandelRcpp(const double x_min, const double x_max, const double y_min, const double y_max,
const int res_x, const int res_y, const int nb_iter) {
Rcpp::NumericMatrix ret(res_x, res_y);
double x_step = (x_max - x_min) / res_x;
double y_step = (y_max - y_min) / res_y;
int r,c;
#pragma omp parallel for default(shared) private(c) schedule(dynamic,1)
for (r = 0; r < res_y; r++) { …Run Code Online (Sandbox Code Playgroud) julia ×2
r ×2
collatz ×1
data-mining ×1
dbscan ×1
mandelbrot ×1
openmp ×1
python ×1
python-2.7 ×1
rcpp ×1
simd ×1