相关疑难解决方法(0)

链接R和朱莉娅?

Julia看起来很有希望进行快速和语法理智的计算(例如这里),但我怀疑它在整体统计工作流程方面还不会在R附近.所以我想在C++主要用于R程序的地方使用它:优化代码的慢速部分.然而,在我花时间学习Julia之前,我很好奇在R代码中嵌入Julia片段的设施是什么.

所以:

  • 连接R和朱莉娅有什么设施?
  • 它们的耐用性和经过深思熟虑的程度是零至Rcpp吗?

我想从R调用Julia,就像Rcpp现在允许从R内部调用C++一样.我不想从朱莉娅那里打电话给R. (所以RCall.jl不起作用)

r julia

128
推荐指数
8
解决办法
2万
查看次数

为DBSCAN(R)选择eps和minpts?

我一直在寻找这个问题的答案,所以我希望有人可以帮助我.我在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选择合适的值.我希望我已经为某人提供了足够的信息来帮助我.我想张贴一张我的意思,但我仍然是新手,所以暂不发布图像.

r cluster-analysis data-mining dbscan

28
推荐指数
4
解决办法
5万
查看次数

为什么这个Python程序运行速度比相同的Julia程序快3倍

我想尝试使用Julia编程语言,因为我听说它应该比Python更快.我决定为Project Euler#14尝试一个动态程序,因为它处理了大量计算(找到最长的Collat​​z序列).

我在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)

python collatz python-2.7 julia

5
推荐指数
0
解决办法
461
查看次数

使用Rcpp和OpenMP在R中进行多线程和SIMD矢量化Mandelbrot

作为一个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)

multithreading simd openmp mandelbrot rcpp

5
推荐指数
2
解决办法
660
查看次数