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[你的資料]
Mathematica 教學 問卷項目分析
由 戴忠淵 於 2013年12月31日星期二
上午12:30 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~