Stats

Popular Posts

Followers

Mathematica 教學 問卷項目分析

戴忠淵 於 2013年12月31日星期二 上午12:30 發表



ItemAnalysis[data_]:=
Block[{varname=data[[1]],mydata=data[[2;;-1]],sum,lower,
upper,testdata,testdatalow,testdatahigh,itemdata},
sum=Flatten@{#,Total[#]}&/@mydata;
lower=Quantile[sum[[All,-1]],0.25];
upper=Quantile[sum[[All,-1]],0.75];
testdata={sum[[#]],
If[sum[[#,-1]]>=upper,2,
If[sum[[#,-1]]<=lower,1,0]]}&/@Range[Length@sum];
testdata=GatherBy[testdata,Last];
testdatalow=Cases[testdata,{a_,1},Infinity][[All,1]];
testdatahigh=Cases[testdata,{a_,2},Infinity][[All,1]];
itemdata={Flatten@{varname[[#]],"低分組",
Length@testdatalow[[All,#]],
NumberForm[N@Mean@testdatalow[[All,#]],{5,4}],
NumberForm[N@StandardDeviation@testdatalow[[All,#]],{5,4}],
{NumberForm[#[[1]],{5,4}],NumberForm[If[#[[2]]<0.00001,0,#[[2]]],{5,4}]}&/@
{TTest[{testdatalow[[All,#]],testdatahigh[[All,#]]},0,"TestDataTable",
VerifyTestAssumptions->"EqualVariance"][[1,1,
2,{2,3}]]}},{"","高分組",Length@testdatahigh[[All,#]],
NumberForm[N@Mean@testdatahigh[[All,#]],{5,4}],
NumberForm[N@StandardDeviation@testdatahigh[[All,#]],{5,4}],
"",""}}&/@Range[Length@varname];
TableForm[Flatten[itemdata,1],
TableHeadings->{None,{"題項","組別","個數","平均數","標準差","T值","P-Vale"}}]]

(*用法*)
(*資料的第一列為變數名稱*)
ItemAnalysis[你的資料]
Tags: , , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~