【摘要】 微软已经推出功能强大的pershell 1.0,并决定在未来的新操作系统中内置pershell,pershell本身具有完善的数学计算和多维数组功能,只需通过简单脚本编程就可以方便地计算医学统计中经常遇到的行×列表χ2检验问题。
【关键词】 pershel
abstrat irsft have designed perful pershell 1.0, and in future pershell ill exist in ne peratin syste. pershell prvided perfet atheatial putatin ability and an anage ultidiensin array expediently. s siple pershell prgra an be used t alulate ntingeny table hi-square test in edial statistis.
key rds ntingeny table; hi-square test; pershell
1 有关pershell的介绍
pershell 1.0 是微软在06年底设计完成的新一代命令行外壳和脚本语言,用于进行系统管理和自动化处理。从微软的发展报告中我们可以了解到,pershell将内置在新版的vista和inds server 2008操作系统中,这说明pershell将会随着微软操作系统被广泛地使用,现在pershell 2.0已经进入测试阶段。目前电脑用户使用较多的inds xp sp2也可以在.net fraerk 2.0的基础上安装使用pershell。
pershell是一款基于对象并建立在.net框架之上,能够同时支持i、、ad、.net,管理员将能够在命令行的环境中使用和.net类库中的全部功能,可以说功能十分强大。用户不需要另外安装软件,仅通过pershell进行简单的脚本编程就可以完成平常遇到的各种医学统计任务,一般来说没有必要安装庞大专业统计软件,也没有必要另外安装其他编程语言的环境。
2 运用pershell脚本编程计算行列表卡方
笔者曾经讨论过运用批处理的方法完成四格表卡方检验的计算[1],由于批处理没有数组的功能,要想实现多行多列表格χ2检验是很困难的。pershell具有完善的数学计算的能力,支持多维数组,因此要实现行列表χ2检验是相当简单的。
我们知道,行×列表χ2检验基本计算公式为χ2=n(a2 nr n-1) ,从编程计算的角度来说关键是二维数组的恰当运用。对二维数组array分解并构造出两个一维数组,分别代表行和列的数值,计算出每行的和nr以及每列的和n,最后由公式计算最后的结果。
我们尝试运用pershell脚本编程方法计算医学统计中经常遇到的行×列表χ2检验。首先我们利用pershell对数组赋值的方法在控制台把表格数据直接赋值给数组$r,然后我们编写计算脚本kf.ps1,对数组$r进行分析并计算出χ2检验结果。
kf.ps1脚本的源代码如下:
# 对输入的数据判断行数和列数
$r = $r.unt
$ = $r[0].unt
rite-hst "您输入的是 $r 行 * $ 列表! "
# 计算各行之和并赋值到一维数组$rt中,并计算表格全部数值之和n
$rt = @()
fr ($i=0; $i -lt $r; $i++)
{
fr ($j=0; $j -lt $; $j++)
{
$tep += $r[$i][$j]
}
$rt = $rt + $tep
$n += $tep
$tep = 0
}
# 计算各列之和并赋值到一维数组$t中
$t = @()
fr ($j=0; $j -lt $; $j++)
{
fr ($i=0; $i -lt $r; $i++)
{
$tep += $r[$i][$j]
}
$t = $t + $tep
$tep = 0
未完...点击下方链接下载完整文档