甜哥,红字是我加的,我想测一下温落比>1,显示极显著,结果不对。
Dim t As Table = Tables("脱毒马铃薯培养基15x14正交试验数据")
t.DataTable.DeleteFor("培养基编号 in ('平均群落', '温落比','显著性描述')")
Dim ary(t.Rows.count-1) As Double
Dim ii As Integer = 0
For Each r As Row In t.Rows
Dim sum1 As Double = 0
Dim count1 As Double = 0
For Each c As Col In t.Cols
If c.name.StartsWith("培养皿_") Then
sum1 += val(r(c.name))
count1 += 1
End If
Next
r("均值") = sum1 / count1
ary(ii) = sum1 / count1
ii += 1
Next
Dim nr1 = t.AddNew
nr1("培养基编号") = "平均群落"
Dim nr2 = t.AddNew
nr2("培养基编号") = "温落比"
Dim nr3 = t.AddNew
nr3("培养基编号") = "显著性描述"
For Each c As Col In t.Cols
If c.name.StartsWith("培养皿_") Then
Dim sum1 As Double = 0
Dim count1 As Double = 0
For Each r As Row In t.Rows
If r("培养基编号") <> "平均群落" AndAlso r("培养基编号") <> "温落比" AndAlso r("培养基编号") <> "显著性描述" Then
sum1 += val(r(c.name))
count1 += 1
End If
Next
nr1(c.name) = sum1 / count1
Dim sum As Double = 0
For Each a As Double In ary
sum += a / (sum1 / count1)
Next
nr2(c.name) = format(sum / ary.length, "0.0000")
End If
Next
Dim ls As new List(Of String)
Dim dt As Table = Tables("脱毒马铃薯培养基15x14正交试验数据")
For Each dc As Col In dt.Cols
If dc.Caption.StartsWith("培养皿_") Then
ls.add(dc.name)
End If
Next
Dim ary1(ls.count-1) As Double
Dim ary2 = ls.ToArray
For i As Integer = 0 To ary2.length-1
ary1(i) = val(nr2(ary2(i)))
Next
array.sort(ary1, ary2)
For i As Integer = 0 To ary2.length-1
dt.Cols(ary2(i)).Move(1)
If val(nr2(ary2(i))) > 0.8 Then
nr2(ary2(i)) = nr2(ary2(i)).trim("*") & "**"
End If
If val(nr2(ary2(i))) > 1 Then
nr3("培养皿_" & i) = ("极显著")
End If
Next
[此贴子已经被作者于2018/12/11 13:27:54编辑过]