小编qed*_*qed的帖子

如何在numpy矩阵中获得绝对值中的最高元素?

这是我目前正在做的,它有效,但它有点麻烦:

x = np.matrix([[1, 1], [2, -3]])
xmax = x.flat[abs(x).argmax()]
Run Code Online (Sandbox Code Playgroud)

python numpy

17
推荐指数
5
解决办法
3万
查看次数

ggplot2等高线图中的自定义级别?

以下是docs网站的代码段:

# Generate data
library(reshape2) # for melt
volcano3d <- melt(volcano)
names(volcano3d) <- c("x", "y", "z")

# Basic plot
v <- ggplot(volcano3d, aes(x, y, z = z))
v + stat_contour(binwidth = 10)
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

如果我想在自定义级别绘制轮廓线怎么办?例如,在volcano3d数据集中,我希望这些级别表示:z == 120,140,​​160.

r ggplot2

15
推荐指数
1
解决办法
5547
查看次数

生锈与c的表现

我想学习一些关于生锈任务的知识,所以我做了一个蒙特卡罗计算PI.现在我的难题是为什么单线程C版本比4路线程Rust版本快4倍.显然,我做错了什么,或者我的心理表现模型已经过时了.

这是C版本:

#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>

#define PI 3.1415926535897932

double monte_carlo_pi(int nparts)
{
    int i, in=0;
    double x, y;
    srand(getpid());

    for (i=0; i<nparts; i++) {
        x = (double)rand()/(double)RAND_MAX;
        y = (double)rand()/(double)RAND_MAX;

            if (x*x + y*y < 1.0) {
            in++;
        }
    }

    return in/(double)nparts * 4.0;
}

int main(int argc, char **argv)
{
    int nparts;
    double mc_pi;

    nparts = atoi(argv[1]);
    mc_pi = monte_carlo_pi(nparts);
    printf("computed: %f error: %f\n", mc_pi, mc_pi - PI);
}
Run Code Online (Sandbox Code Playgroud)

Rust版本不是逐行端口:

use std::rand;
use std::rand::distributions::{IndependentSample,Range}; …
Run Code Online (Sandbox Code Playgroud)

c performance rust

15
推荐指数
2
解决办法
7282
查看次数

如何在Mac OSX中找到R库位置?

在Linux上通常$HOME/R/...,它在Mac上的位置?

我试过类似的东西locate Rcpp,但没有得到任何有用的信息.

R通过自制软件安装,OSX版本为10.9(小牛).

macos r

14
推荐指数
3
解决办法
4万
查看次数

..等级..在ggplot2等高线图中

我发现这个变量有点令人困惑,例如,来自文档:

require(ggplot2)
require(reshape2)
volcano3d <- melt(volcano) 
names(volcano3d) <- c("x", "y", "z") 
v <- ggplot(volcano3d, aes(x, y, z = z)) 
v1 = v +  stat_contour(aes(colour=..level..,size=..level..)) 
Run Code Online (Sandbox Code Playgroud)

为什么我不能用这个:

v2 = v +  stat_contour(aes(colour=as.factor(z),size=as.factor(z))) 
Run Code Online (Sandbox Code Playgroud)

graphics r ggplot2

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

如何让rJava在osx上使用更新版本的java?

我在rJava上关注本教程:http://cran.r-project.org/web/packages/helloJavaWorld/vignettes/helloJavaWorld.pdf

我已经制作了教程中指定的所有文件并安装了helloJavaWorld包,但是一旦我运行了helloJavaWorld()函数,就会抱怨:

> helloJavaWorld()
Error in .jnew("HelloJavaWorld") :
  java.lang.UnsupportedClassVersionError: HelloJavaWorld : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)

所以我试着检查rJava正在使用的java版本:

.jinit()
jvm = .jnew("java.lang.System")
jvm.props = jvm$getProperties()$toString()
jvm.props <- strsplit(gsub("\\{(.*)}", "\\1", jvm.props), ", ")[[1]]
jvm.props

 [1] "java.runtime.name=Java(TM) SE Runtime Environment"
 [2] "sun.boot.library.path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries"
 [3] "java.vm.version=20.65-b04-466.1"
 [4] "awt.nativeDoubleBuffering=true"
 [5] "gopherProxySet=false"
 [6] "mrj.build=11M4716"
 [7] "java.vm.vendor=Apple Inc."
 [8] "java.vendor.url=http://www.apple.com/"
 [9] "path.separator=:"
[10] "java.vm.name=Java HotSpot(TM) 64-Bit Server VM"
[11] "file.encoding.pkg=sun.io"
[12] "user.country=US"
[13] "sun.os.patch.level=unknown"
[14] "java.vm.specification.name=Java Virtual Machine Specification"
[15] "user.dir=/private/tmp"
[16] "java.runtime.version=1.6.0_65-b14-466.1-11M4716"
[17] "java.awt.graphicsenv=apple.awt.CGraphicsEnvironment"
[18] "java.endorsed.dirs=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/endorsed" …
Run Code Online (Sandbox Code Playgroud)

java r rjava

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

R - 测试使用测试目录外的数据文件

testthat用来测试包含类似于以下文件树的包:

   .
    ??? data
    ?   ??? testhaplom.out
    ??? inst
    ?   ??? test
    ?       ??? test1.r
    ?       ??? tmp_S7byVksGRI6Q
    ?       ?   ??? testm.desc
    ?       ??? tmp_vBcIkMN1arbn
    ?           ???testm.bin
    ?           ??? testm.desc
    ??? R
    ?   ??? haplom.r
    ?   ??? winIdx.r
    ??? tmp_eUG3Qb0PKuiN
        ??? testhaplom.hap2.desc
Run Code Online (Sandbox Code Playgroud)

test1.r文件中,我需要使用该data/testhaplom.out文件作为某个函数的输入数据,但如果我这样做test_file(test1.r),它将更改为inst/test目录并且无法查看数据文件,给出以下错误:

...Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
  cannot open file 'data/testhaplom.out': No such file or directory
Run Code Online (Sandbox Code Playgroud)

testing r testthat

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

R中的"{"类是什么?

这是代码:

mf = function(..., expr) {
    expr = substitute(expr)
    print(class(expr))
    print(str(expr))
    expr
}
mf(a = 1, b = 2, expr = {matrix(NA, 4, 4)})
Run Code Online (Sandbox Code Playgroud)

输出:

[1] "{"
length 2 {  matrix(NA, 4, 4) }
 - attr(*, "srcref")=List of 2
  ..$ :Class 'srcref'  atomic [1:8] 1 25 1 25 25 25 1 1
  .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x7fbcdbce3860> 
  ..$ :Class 'srcref'  atomic [1:8] 1 26 1 41 26 41 1 1
  .. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', …
Run Code Online (Sandbox Code Playgroud)

expression r

10
推荐指数
2
解决办法
242
查看次数

ls中的错误(envir = envir,all.names = private):R中的'envir'参数无效

当我在R中使用包来加载数据时遇到了这个错误,在这个包rJava中使用了pakcage .

每次运行函数时,错误都是

Error in ls(envir = envir, all.names = private) : 
  invalid 'envir' argument
Run Code Online (Sandbox Code Playgroud)

这个包已被证明没有任何问题,只是我的电脑中的一些环境问题.

当我调试时,我发现在ls(envir=envir?all.names = private ) 变量之前的最后一个进程 envirNULL,我认为应该是一些值但不是NULL.

经过一些试验,我通过rJava每次安装来解决问题.另外,只有当错误出现时,我才会安装'rJava',它会起作用.如果我在第一次安装,它将无法正常工作.所以,我想,安装'rJava'(或者可能正在安装包)会导致一些环境变量发生变化.

Java 7和Java 8(包括jdk或jre)都经过测试,不起作用.对于R,我使用3.1.3 R并且所有包都是最新的.

以下是我认为可能对故障排除有用的一些信息.

通过安装包,jvm.dll needs to be added to the windows environment path: "Path"我做到了.

我的sessionInfo如下所示:

R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=Danish_Denmark.1252  LC_CTYPE=Danish_Denmark.1252    LC_MONETARY=Danish_Denmark.1252 LC_NUMERIC=C                   
[5] LC_TIME=Danish_Denmark.1252    

attached base packages:
[1] grid …
Run Code Online (Sandbox Code Playgroud)

java r environment-variables rjava

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

如何在Emacs中的引号,括号之间选择文本?

在vim中,你可以通过vi",vi [,vi(...

例如,如果您有这样的行:

x = "difference between vim and emacs"
Run Code Online (Sandbox Code Playgroud)

并且光标位于这些引号之间的任何位置,并且您点击了"vi",然后将在视觉上选择该字符串.

emacs text-editor

8
推荐指数
3
解决办法
2820
查看次数