欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > 运用PowerShell计算行×列表χ2检验

运用PowerShell计算行×列表χ2检验

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


【摘要】 微软已经推出功能强大的powershell 1.0,并决定在未来的新操作系统中内置powershell,powershell本身具有完善的数学计算和多维数组功能,只需通过简单脚本编程就可以方便地计算医学统计中经常遇到的行×列表χ2检验问题。

【关键词】 powershel

 abstract microsoft have designed powerful powershell 1.0, and in future powershell will exist in new operation system. powershell provided perfect mathematical computation ability and can manage multidimension array expediently. so simple powershell program can be used to calculate contingency table chi-square test in medical statistics.

  key words contingency table; chi-square test; powershell


1 有关powershell的介绍

powershell 1.0 是微软在06年底设计完成的新一代命令行外壳和脚本语言,用于进行系统管理和自动化处理。wWw.lw881.com从微软的发展报告中我们可以了解到,powershell将内置在新版的vista和windows server 2008操作系统中,这说明powershell将会随着微软操作系统被广泛地使用,现在powershell 2.0已经进入测试阶段。目前电脑用户使用较多的windows xp sp2也可以在.net framework 2.0的基础上安装使用powershell。

powershell是一款基于对象并建立在.net框架之上,能够同时支持wmi、com、ado、.net,管理员将能够在命令行的环境中使用com和.net类库中的全部功能,可以说功能十分强大。用户不需要另外安装软件,仅通过powershell进行简单的脚本编程就可以完成平常遇到的各种医学统计任务,一般来说没有必要安装庞大专业统计软件,也没有必要另外安装其他编程语言的环境。

  2 运用powershell脚本编程计算行列表卡方

笔者曾经讨论过运用批处理的方法完成四格表卡方检验的计算[1],由于批处理没有数组的功能,要想实现多行多列表格χ2检验是很困难的。powershell具有完善的数学计算的能力,支持多维数组,因此要实现行列表χ2检验是相当简单的。

我们知道,行×列表χ2检验基本计算公式为χ2=n(a2 nr nc-1) ,从编程计算的角度来说关键是二维数组的恰当运用。对二维数组array分解并构造出两个一维数组,分别代表行和列的数值,计算出每行的和nr以及每列的和nc,最后由公式计算最后的结果。

  我们尝试运用powershell脚本编程方法计算医学统计中经常遇到的行×列表χ2检验。首先我们利用powershell对数组赋值的方法在控制台把表格数据直接赋值给数组$rc,然后我们编写计算脚本1,对数组$rc进行分析并计算出χ2检验结果。

1脚本的源代码如下:

  # 对输入的数据判断行数和列数

  $r = $

  $c = $rc[0].count

  write-host "您输入的是 $r 行 * $c 列表! "

  # 计算各行之和并赋值到一维数组$rt中,并计算表格全部数值之和n

  $rt = @()

  for ($i=0; $i -lt $r; $i++)
{
for ($j=0; $j -lt $c; $j++)
{
$temp += $rc[$i][$j]
}
$rt = $rt + $temp
$n += $temp
$temp = 0
}

  # 计算各列之和并赋值到一维数组$ct中

  $ct = @()

  for ($j=0; $j -lt $c; $j++)
{
for ($i=0; $i -lt $r; $i++)
{
$temp += $rc[$i][$j]
}
$ct = $ct + $temp
$temp = 0
}

  # 计算卡方

  for ($i=0; $i -lt $r; $i++)
{
for ($j=0; $j -lt $c; $j++)
{
$temp += $rc[$i][$j]*$rc[$i][$j] / ($rt[$i]*$ct[$j])
}
}

  $x2 = $n * ($temp - 1)

  write-host "n=$n 卡方=$x2 "

  在控制台命令行输入c:\1即可运行该脚本。

  3 测试程序

  3.1 例1 对648 例消化道溃疡病人住院天数分析[2]

某病案统计室对医院收治的648 例消化道溃疡病人术前住院天数进行了分析,探讨术前住院天数对住院总天数的影响,病案统计室使用第四军医大学统计教研室编制的splm 软件进行统计。表1 术前住院天数对住院总天数的影响(略)

此例原文中计算结果为χ2 = 97.54 , p<0.01 ,不同术前住院天数间、 住院总天数有显著性差异,说明术前住院天数直接影响住院。

现在我们在powershell脚本来计算,首先在控制台界面输入这个行列表的数据:

ps c:\> $rc = (115,220,105,72),(3,52,35,3),(0,3,20,20)

这里简单解释一下,这种形式的输入是powershell创建二维数组的一种方式,行列表中每一行的数据放在一对括号内,一行内的数据用逗号分隔,行与行之间的数据也用逗号隔开。通过这一行的输入,我们已经把行列表所有数据赋值到变量$rc中。

然后运行我们已经编写好的计算脚本1:

ps c:\> c:\1

您输入的是 3行* 4列表!

n=648 卡方=97.5386448154744

此例的计算结果说明powershell脚本编程的计算结果准确。

3.2 例2 扭挫伤患者708 人和腰肌劳损患者347人,都用磁场疗法治疗,有效(显效与好转) 人数分别为673 人和312 人,无效例数分别为35人和35人,有效率分别为95106 % 和89191 %。问两组有效率有无差别? [3]表2 两种疾病用磁场疗法的疗效(略)

  检验假设h0 :两组总体有效率相等。

备择假设h1 :两组总体有效率不相等。

检验水准:双侧α= 0.05,计算结果为χ2 = 9.94,p<0.01,拒绝h0 ,认为磁场疗法对两种疾病的有效率不相同。

我们通过powershell脚本验证此例的计算结果,首先在控制台界面输入数据:

ps c:\> $rc = (673,35),(312,35)

运行计算脚本

ps c:\> c:\1

您输入的是 2行* 2列表!

n=1055 卡方=9.9427369384943

本例是四格表的卡方统计问题,说明本研究的powershell程序同样适用于四格表卡方统计。通过以上二例的计算,我们认为通过powershell脚本计算行列表卡方是一种方便易用的方法。

  4 讨论

以下几点是对本研究中脚本程序的总结说明:

① 如果编写的1脚本不能运行,那么应该开启ps1脚本的运行权限,在控制台输入set-executionpolicy unrestricted 即可。微软从安全角度考虑关闭了脚本运行权限。

② 微软操作系统要求运行ps1脚本时要键入完整的路径,在本文中的完整路径是c:\1,而不能只键入文件名1。

③ 不少医学工作者使用excel做卡方计算,缺点很明显,在excel表格中对行列数的限制是预先设定的,而本研究的脚本程序没有行列数的限制,可以灵活计算多行多列的表格卡方。

④ 本研究的脚本程序只是根据公式完成了计算行列表卡方最基本的功能,在输入数据的时候请保持数据格式的正确性,因为程序对录入数据的格式不作检查。另外如果需要校正检验,可以对脚本适当改动,读者可以通过对powershell的学习把程序继续完善。

⑤ 本研究的脚本程序在xp sp2 powershell 1.0和vista powershell 1.0的环境下运行通过。

 

【参考文献】
  1 王正凯,颜景红.运用批处理完成四格表χ2检验的计算.数理医药学杂志, 2007,5:618~619 .

  2 马玉荣,李健. 648 例消化道溃疡病人住院天数分析. 中国医院统计,2001,9:186.

  3 潘兴仪. 卡方检验在医学科研中的应用. 广西医学, 2001,12:1397.

本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/244925.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学