?? 比例檢驗f2.frm
字號:
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 960
TabIndex = 20
Top = 3360
Width = 1215
End
Begin VB.Label lblZ
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
BorderStyle = 1 'Fixed Single
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 3240
TabIndex = 19
Top = 3360
Width = 1335
End
Begin VB.Label lblD
Alignment = 2 'Center
Appearance = 0 'Flat
AutoSize = -1 'True
BackColor = &H80000005&
BorderStyle = 1 'Fixed Single
BeginProperty Font
Name = "楷體_GB2312"
Size = 15.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 345
Left = 3720
TabIndex = 18
Top = 4320
Width = 225
End
Begin VB.Label Label11
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "檢驗結論"
BeginProperty Font
Name = "隸書"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 615
Left = 2400
TabIndex = 17
Top = 3840
Width = 3015
End
Begin VB.Label Label10
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "左尾臨界值"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 960
TabIndex = 16
Top = 3000
Width = 1215
End
Begin VB.Label Label9
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "檢驗值"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 3240
TabIndex = 15
Top = 3000
Width = 1335
End
Begin VB.Label Label8
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "顯著性水平(通常為 0.05 或 0.01)"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 3480
TabIndex = 14
Top = 2160
Width = 3735
End
Begin VB.Label Label7
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第2樣本數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 5760
TabIndex = 13
Top = 840
Width = 1335
End
Begin VB.Label Label6
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第1樣本數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 3720
TabIndex = 12
Top = 840
Width = 1215
End
Begin VB.Label Label1
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "原假設"
BeginProperty Font
Name = "隸書"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 495
Left = 360
TabIndex = 8
ToolTipText = "如果原假設為p1-p2<=0.05,這時C為0.05"
Top = 600
Width = 2055
End
End
Attribute VB_Name = "frmTwo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'總體比例假設檢驗
Option Explicit
Private Sub Form_Load()
Label9.Visible = False: Label10.Visible = False
Label11.Visible = False: Label2.Visible = False
lblZ.Visible = False: lblZL.Visible = False
lblZR.Visible = False: lblD.Visible = False
lblX.Visible = False: lblY.Visible = False
Line1.Visible = False: cmdRenew.Visible = False
End Sub
'計算
Private Sub cmdCheck_Click()
'X1和X2是樣本的特征量,p1和p2是樣本比例
Dim X1 As Single, X2 As Single, p1 As Single, p2 As Single
'p是合并的比例,n1和n2是樣本數,n是自由度
Dim p As Single, n1 As Integer, n2 As Integer, n As Integer
'Q是顯著性水平,C是常數
Dim Q As Double, C As Single
'Z是檢驗值,ZL是左尾臨界值,ZR是右尾臨界值
Dim Z As Double, ZL As Double, ZR As Double
Dim sngZ As Single, sngZL As Single, sngZR As Single
Label9.Visible = True: lblZ.Visible = True: lblD.Visible = True
Label11.Visible = True: Line1.Visible = True: cmdRenew.Visible = True
X1 = Val(txtX1): X2 = Val(txtX2): C = Val(txtC)
n1 = Val(txtN1): n2 = Val(txtN2): n = n1 + n2 - 2
p1 = X1 / n1: p2 = X2 / n2: p = (X1 + X2) / (n1 + n2)
Q = Val(txtQ) '顯著性水平
'檢驗值
If C = 0 Then
Z = (p1 - p2) / Sqr(p * (1 - p) * (1 / n1 + 1 / n2))
Else
Z = (p1 - p2 - C) / Sqr(p1 * (1 - p1) / n1 + p2 * (1 - p2) / n2)
End If
sngZ = Z
lblZ = sngZ
'原假設為H0:p1=p2的情況屬于雙尾檢測,其余兩種情況都是單尾檢測
'即Option1所代表的情況屬于雙尾檢測,Option2和Option3都是單尾檢測
If Option1.Value Then '雙尾檢測
Q = Q / 2
If n1 > 17 And n2 > 17 Then PNorm 1 - Q, ZL Else PT_DIST n, 1 - Q, ZL
If n1 > 17 And n2 > 17 Then PNorm Q, ZR Else PT_DIST n, Q, ZR
If Z > ZL And Z < ZR Then '接受H0
Label10.Visible = True: Label2.Visible = True
lblZL.Visible = True: lblZR.Visible = True
lblX.Visible = True: lblY.Visible = True
sngZL = ZL: lblZL = sngZL
sngZR = ZR: lblZR = sngZR
lblX = "<": lblY = "<"
lblD = "接受H0,拒絕H1"
Else '拒絕H0
lblD = "拒絕H0,接受H1"
If Z < ZL Then
Label10.Visible = True: Label2.Visible = False
lblZL.Visible = True: lblZR.Visible = False
lblX.Visible = True: lblX = ">": lblY.Visible = False
sngZL = ZL: lblZL = sngZL
End If
If Z > ZR Then
Label10.Visible = False: Label2.Visible = True
lblZR.Visible = True: lblZL.Visible = False
lblY.Visible = True: lblY = ">": lblX.Visible = False
sngZR = ZR: lblZR = sngZR
End If
End If
End If
If Option2.Value Then '左尾
If n1 > 17 And n2 > 17 Then PNorm 1 - Q, ZL Else PT_DIST n, 1 - Q, ZL
Label10.Visible = True: Label2.Visible = False
lblZL.Visible = True: lblZR.Visible = False
lblX.Visible = True: lblY.Visible = False
sngZL = ZL: lblZL = sngZL
If Z < ZL Then
lblX = ">"
lblD = "拒絕H0,接受H1"
Else
lblX = "<"
lblD = "接受H0,拒絕H1"
End If
End If
If Option3.Value Then '右尾
If n1 > 17 And n2 > 17 Then PNorm Q, ZR Else PT_DIST n, Q, ZR
Label10.Visible = False: Label2.Visible = True
lblZL.Visible = False: lblZR.Visible = True
lblX.Visible = False: lblY.Visible = True
sngZR = ZR: lblZR = sngZR
Label10.Visible = False
If Z > ZR Then
lblY = ">"
lblD = "拒絕H0,接受H1"
Else
lblY = "<"
lblD = "接受H0,拒絕H1"
End If
End If
End Sub
'重作
Private Sub cmdRenew_Click()
Label9.Visible = False: Label10.Visible = False
Label11.Visible = False: Label2.Visible = False
lblZ.Visible = False: lblZL.Visible = False
lblZR.Visible = False: lblD.Visible = False
lblX.Visible = False: lblY.Visible = False
Line1.Visible = False
txtX1 = "": txtX2 = "": txtN1 = "": txtN2 = ""
txtQ = "": txtC = ""
End Sub
'退出
Private Sub cmdExit_Click()
Unload Me
End
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -