TTEP.CN > 软件 >

怎样在Excel中编制生物等效性评价程序

对新药的生物等效性评价,目前普遍采用将药物动力学参数经对数转换后以多因素方差分析
(ANOVA) 进行显著性检验,然后用双单侧t 检验和90% 置信区间的分析方法来判断药物间的
生物等效性[1] 。这一过程数据处理工作量大而杂,还需要查表,但其结果的输出模式又相对固定,因此萌发在Excel 中采用Visual Basic 应用程序语言(VBA , Visual Basic for Application) 编制程序来进行数据处理和结果输出的想法。生物等效性评价的药物动力学参数主要有C max' tmax 和AUC。本文作者对AUC 的生物等效性进行评价, C max的评价方法与其类似。

1 理论依据
两药物生物等效性评价指标的基本公式如
下[1]
其中:F一相对生物利用度, AUCr一受试制剂
药-时曲线下面积, DR一参比制剂剂量, AUCR一
参比制剂药一时曲线下面积, DT一受试制剂剂量。
2 工具
Excel 功能强大,它提供了强大的内置函数,
利用其内置函数可以完成常用统计方面的大多数
工作。用VBA 编程来控制Excel 可以快速准确
的完成数据的统计任务。使得在Excel 中需要很 多步骤才能完成的工作现在只需要一个按钮就可
以完成,明显提高了工作效率。
3 设计思想
进行相对生物利用度的判断首先需要考虑受
试制剂剂量和参比制剂剂量是否相同,然后选择
不同的计算公式来进行处理[1]。考虑到操作的
复杂性,本程序均要求在数据处理进行之前,分别
在单元格"D1" 和"F1" 中输入受试制剂和参比制
剂的剂量(不需要输入单位,只需二者剂量单位相
同即可),这样无论二者剂量相等与否,都可按照
公式(1)进行运算。在进行方差分析和双单侧t
检验时需要有样本数,故在数据处理开始时还需
在单元格"四"中输入受试人数。界面分别见
图1 一图3。图1 中表头已经设计完成,在相应的
表格中填入数据后,点击"输入数据"按钮,程序就
会首先清除已有的数据,然后按照受试者的人数
自动生成相应行数的表格;数据输入完毕点击"处
理数据飞则方差分析结果和双单侧t 检验结果都
以表格形式给出结果。生成的表格可直接拷贝到
word 丈档中形成报告,使用非常方便。
4 部分程序代码
"输入数据"按钮代码如下:
Application. Screen Updating = False' 取消
屏幕刷新Selection. ClearContents 清空已有数据,固
定表头格式
Selection. Borders (xlDiagonalDown) .
LineStyle = xlNone
Selection. Borders (xlDiagonalUp). LineStyle
= xlNone
Selection. Borders ( xlEdgeLeft). LineStyle =
xlNone
Selection. Borders ( xlEdgeTop). LineStyle =
xlNone
Selection. Borders ( xlEdgeBottom ). LineStyle
= xlNone
Selection. Borders ( xlEdgeRight) . LineStyle =
xlNone
Selection. Borders( xlInside V ertical) . LineStyle
= xlNone
Selection. Borders (xlInsideHorizontal).
LineStyle = xlNoneRange ("C56: C58, B44: C44, E56: G56").
Value=
Dim r, h As Integer
r= Cells(1, 2) ,受试者人数赋值给变量r
For h= 1To r '以下输入受试者序号和试验周期
Cells(h + 5, 1). Value= h
If h< = r/2 Then
Cells(h + 5, 2). Value= "T/R"
Else
Cells(h + 5, 2). Value= "R/T"
End If
Cells(r+ 6, 1). Value=" 平均值"
Cells( r + 7, 1) . Value = "总和"
Next h
"数据处理"按钮代码如下:
'求每名受试者F 值和方差分析数据处理
On Error Resume Next 忽略错误
Application. ScreenUpdating = False 取消屏幕刷新
Dim t1 , t2, sx, xx, c As Double
Dimi, t, m, n, j , w, r, q As Integer
r = Cells (1 , 2 )
For t= 1 To r
Cells( t + 5, 4) = Log(Cells( t + 5, 3))
Cells( t + 5, 11) = (Cells( t + 5, 4) )-2
Cells( t + 5, 6) = Log( Cells( t + 5, 5) )
Cells( t + 5, 12) = (Cells( t + 5, 6) )-2
Cells(t+5 , 13) = (Cells(t+ 5, 4) + Cells(t+
5, 6) )-2
Cells( t + 5, 7) = 100 养(Cells( t + 5, 3) / Cells( t
+ 5, 5)) 保( Cells( 1 , 6) / Cells( 1, 4) )
Cells( t + 5, 10) = t
Next t
For q= 1 To r
If q< = r/2 Then
Cells( q + 5, 14) = Cells( q + 5, 4 )
Cells(q + 5, 15) = Cells(q + 5, 6)
EIse
Cells(q + 5, 14) = Cells(q + 5, 6)
Cells(q + 5, 15) = Cells(q + 5, 4)
End If
Next q
'AUC 测定结果与数据处理
For i=3 To 7
Cells(r + 7, i) = 0
For m= 1 To r
Cells(r + 7, i) = Cells( r + 7, i) + Cells( m + 5,
Next m
Cells(r+ 6, i) = Cells(r+ 7, i)/r
Next i
'LnAUC 方差分析数据处理
For j = 11 To 15
Cells(r+ 7, j) = 0
Forn=1 Tor
Cells( r + 7 ,j) = Cells(r+ 7, j) + Cells(n + 5,j)
Next n
Next j
'AUC 方差分析结果
Cells(40, 2) = r 一1
Cells(41 , 2) = 1
Cells( 42, 2) = 1Cells( 44 , 2) = 2 祷r 一1
Cells(43, 2) = Cells(44, 2) 一Cells ( 40, 2) -
Cells(41 , 2) 一Cells(42 , 2)
c= (Cells(r+7 ,4) + Cells(r+7 , 6))-2/2/r
Cells( 40, 3) = Cells( r + 7, 13) /2 一c
Cells(41 , 3) = (Cells(r + 7, 14 )-2 + Cells( r +
7, 15)-2)!r- c
Cells(42, 3) = (Cells(r+ 7 , 4)古+ Cells(r+ 7,
6)-2)/r 一c
Cells( 44 , 3) = Cells ( r + 7, 11) + Cells ( r + 7,
12) - c
Cells(43 , 3) = Cells(44, 3) - Cells(40, 3) -
Cells( 41 , 3) 一Cells(42, 3)
Cells( 40, 4) = Cells( 40, 3)/Cells( 40 ,2)
Cells( 41 , 4) = Cells( 41 ,3 )/?ells( 41 ,2)
Cells( 42 , 4) = Cells( 42, 3) / Cells( 42 , 2)
Cells(43, 4) = Cells(43, 3)/Cells(43 , 2)
Cells( 40, 5) = Cells( 40, 4) / Cells( 43 , 4 )
Cells(41 , 5) = Cells(41 , 4)/Cells(43 , 4)
Cells( 42, 5) = Cells( 42,4 )/Cells( 43 , 4)
Cells(40, 6). Value= "F"&"("&r 一1&" ,
"&r- 2&")" &" ="
Cells(40 , 7). FormulaR1C1 =" = FINV(O. 05,
N-1 , N-2)'" 调用Excel 内部函数
Cells(41 , 6). Value= "F" &"(" &"1" &气"&r-
2&")"&"="
Cells(41 , 7). FormulaR1C1 =" = FINV(O. 05,
最近发表
赞助商链接