使用 JSC 做 Wilcoxon signed-rank test

JSC is a project to extend the Java programming language and Java APIs (Application Programming Interfaces) to support educational and enterprise development of statistical software in Java.

 

http://www.jsc.nildram.co.uk/

 

看这篇文章的人应该都知道什么是 Wilcoxon signed-rank test , 以及这个 Test 主要用来做什么。 如果不清楚的同学请先移步 wiki: http://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test。 

 

当然用 R 当然也能很容易做这个 test,有兴趣的同学请移步: http://www.r-tutor.com/elementary-statistics/non-parametric-methods/wilcoxon-signed-rank-test

 

这里我们主要讨论如何使用JSC这个库来做 Wilcoxon signed-rank test。

 

在使用之前可以先参照在线的 API: http://www.jsc.nildram.co.uk/api/jsc/onesample/WilcoxonTest.html

 

以下我们用个例子来说明:

 

WilcoxonTest(PairedData data, H1 alternative) , PairedData 对象可以使用一个N行2列的matrix构建。 H1 是 JSC 中的一个枚举类型,可以直接使用。

 

 

PairedData pData = new PairedData(g0_div, g1_div); //  g0_div 和 g1_div) 是两个等长的一维 double 数组,两个数组中的对应 index 对应的正是数据观测的一个pair。
 

 

 

if(g0_div.length>=500){ //当数据量大于500的时候,大样本可以认为接近正太分布,所以调用 .approxSP() 方法。
					if (less) { //Exception here.
						pValue = new WilcoxonTest(pData, H1.LESS_THAN).approxSP();
					}else {
						pValue = new WilcoxonTest(pData, H1.GREATER_THAN).approxSP();
					}
				}else { // 小样本,样本数小于 500,不需要假设样本服从正太分布。
// 这也是我们使用这个方法的目地所在。
					if (less) { //Exception here.
						pValue = new WilcoxonTest(pData, H1.LESS_THAN).exactSP();
					}else {
						pValue = new WilcoxonTest(pData, H1.GREATER_THAN).exactSP();
					}
				}
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Bytenode是一个将JavaScript代码编译成本地机器码的工具,可以用于保护JavaScript代码的安全性。在electron-vue中使用Bytenode进行加密可以增加代码的安全性,使得代码难以被反编译或修改。 下面是使用Bytenode进行加密的步骤: 1. 安装Bytenode 在终端中输入以下命令安装Bytenode: ``` npm install bytenode -g ``` 2. 编写加密脚本 在electron-vue项目中,可以在`build`目录下新建一个`encrypt.js`文件,用于编写加密脚本。下面是一个简单的加密脚本示例: ```javascript const bytenode = require('bytenode'); const fs = require('fs'); // 获取需要加密的文件路径 const filePath = process.argv[2]; // 读取文件内容 const fileContent = fs.readFileSync(filePath, 'utf8'); // 编译为本地机器码 const compiledCode = bytenode.compile(fileContent); // 写入编译后的文件 fs.writeFileSync(filePath + '.jsc', compiledCode); ``` 这个脚本将读取传入的文件路径,将文件内容编译为本地机器码,并将编译后的代码写入同一目录下的以`.jsc`为后缀的文件中。 3. 配置打包脚本 在`package.json`文件中的`scripts`中添加一个`encrypt`命令,用于在打包应用之前进行加密。示例如下: ```json "scripts": { "encrypt": "node build/encrypt.js dist/electron/main.js" } ``` 这个命令将编译`dist/electron/main.js`文件,并将编译后的代码写入`dist/electron/main.js.jsc`文件中。 4. 执行加密操作 在终端中输入以下命令执行加密操作: ``` npm run encrypt ``` 执行完毕后,`dist/electron/main.js`文件将被编译为本地机器码,并写入`dist/electron/main.js.jsc`文件中。 5. 修改应用入口 最后,需要将应用的入口文件修改为编译后的文件。在`src/main/index.dev.js`文件中,将以下代码: ```javascript mainWindow.loadURL(process.env.WEBPACK_DEV_SERVER_URL); ``` 修改为: ```javascript mainWindow.loadFile(path.join(__dirname, '../../dist/electron/main.js.jsc')); ``` 这样,在应用启动时,将加载编译后的文件作为入口文件。 以上就是使用Bytenode进行加密的步骤,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值