知识屋:更实用的电脑技术知识网站
所在位置:首页 > 办公知识 > Excel教程

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

发布时间:2012-07-31 18:35:40作者:知识屋

对新药的生物等效性评价,目前普遍采用将药物动力学参数经对数转换后以多因素方差分析
(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,
1, N -1)'"调用Excel 内部函数
Cells(42, 的6). Value = "γF""&"(旷"&"1"&
2&"丁)"&11="
,
Cells(42, 7). FormulaR1C1=" = FINV(O. 05,
1 , N- 1)'"调用Excel 内部函数
'双单侧t 检验
t1 = ( ( Cells( r + 6, 4 )一Cells ( r + 6, 6) ) - Log
(0.8))/ (( Cells( 43 , 4) )-0. 5)/Sqr(2/ r)
t2 = (Log( 1. 25) - (Cells(r + 6, 4) 一Cells(r +
6, 6)))/ (( Cells( 43 , 4) )-0. 5)/Sqr(2/r)
Cells(56 , 3) = t1
Cells(58 , 3) = t2
Cells(60, 3). FormulaR1C1 =" = TINV(O. 1,
N-2)"
sx= Exp( (Cells(r+ 6, 4) 一Cells(r + 6, 6)) +
(Cells( 60 , 3)) 祷(( Cells( 43, 4) )-0.5) 祷Sqr(2!r))
xx = Exp( (Cells(r + 6, 4) - Cells(r + 6, 6)) 一(Cells( 60 , 3)) 祷(( Cells( 43 , 4)γ0.5) 矢Sqr(2/r) )
Cells(56, 5)= xx
Cells(56, 7) = sx
1ft1 > Cells(60, 3)Andt2 > Cells( 60, 3)Then
Cells(56, 3). Value = t1&" >" &"T1 - O. 05"
&气"&r-2&")"
Cells(58, 3). Value = t2&" >" &"T1 - O. 05"
&气"&r- 2&")"
Cells( 62, 1) . Value ="试验制剂AUCO 一t 与
参比制剂AUCO 一t 比值的90% 置信区间为H&100 头
Cells(56, 5) &"%" &" -" &100 头Cells(56 , 7)
&"%,"&"在80% -125% 的范围之内J
Else
MsgBox"两制剂不等效!"
EndIf

5 数据验证
将有关数据[2] 代入程序中尽行验证得到的
结果如下(表4 、5) 。内置函数,文献[2] 中参数的临界值是查表得到,
因此存在数据的4 舍5 入处理,由此造成了结果
的不完全一致。但都在误差允许的范围内,不影
响实验结论的正确性。
为了进一步验证此程序,本文作者以20 名受
试者口服头抱克洛的生物等效行为例进行说明。
表1 为20 名受试者口服头抱克洛受试和参比制剂后的AUCo - t (mg' h. L -1) ,对这些数据使
用上述程序进行计算,结果如表2 、3 。数据如果
由3P97 进行计算,结果见图6 。
由结果对比可知,该程序可以在Excel 表格
中任意改变受试者的数量,输入简单,计算结果准
确,可靠。

6 讨论
生物等效性评价的数据处理纷繁复杂,工作
量大。根据实验的需要利用人们常用的办公软件
--Excel 和其自带编程语言VBA 编制了实用生
物等效性评价程序,利用该程序在进行生物等效
性评价的实验过程中得到了很好的效果,大大提
高了工作效率。

对该程序的代码稍加修改就可以以cmax 为
指标对制剂进行生物等效性评价,具有很强的可
移植性。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜