2018-08-09 22:19:41 來源:源資信息科技(上海)有限公司
背景:
PhoenixWinNonlin / Phoenix NLME / PhoenixIVIVC等Phoenix系列軟件是專為參與藥物研究與開發的科學家提供的強有力分析工具,R語言是一個免費、開源、通用型的統計分析與制圖工具,使用R語言可以繪制出一些新奇復雜的圖表,那有沒有什么辦法把兩者結合起來呢?
當然是有的,Phoenix作為一個完整的解決方案平臺,擁有友好的兼容性,可以把R、SAS、NONMEM、SigmaPlot等第三方分析工具無縫的集成至Phoenix平臺,使我們可以像使用Phoenix本身的一些分析工具一樣使用它們。
使用的軟件:Phoenix8.1,R3.5.0
所需授權:PhoenixWinNonlin / Phoenix NLME / PhoenixIVIVC等任意一種授權即可。
操作流程說明:
1.首先建立Phoenix與R之間的鏈接,2.案例演示,2.1導入數據,2.2發送至R并映射數據,2.3執行,2.4結果,3.示例中R代碼的注釋,4.小結
鏈接設置:
1.查找當前電腦中“R語言”安裝的位置,比如:“C:\Program Files\R\R-3.5.0\bin\x64\R.exe”
2.啟動Phoenix軟件
3.點擊“編輯(Edit)”菜單→“首選項(Preferences…)”,打開首選項對話框
4.選擇菜單中的“R”節點,指定“R語言”的安裝位置。
例如“C:\Program Files\R\R-3.5.0\bin\x64\R.exe”
案例演示:
1.新建Phoenix項目,命名為“R01”
2.鼠標右擊“數據(Data)”文件夾,選擇“導入(Import)”。
3.通過導航窗導航至Phoenix安裝目錄中的“示例(Examples)”文件夾,例如“C:\Program Files (x86)\Certara\Phoenix\application\Examples\R”,選中所有文件,點擊“打開”。
?
4.導入后可得到下圖所示的結果。
5.鼠標右擊“代碼(Code)”文件夾中的“plotpredtable”文件,選擇“發送至(Send To)”→“R”→“RScript”。
6.為“RScript”操作對象中的“Residuals”、“Eta”報表選擇外部數據源,將原始數據中的“Residuals”、“Eta”表格作為他們的數據源,然后完成映射列表。
7.點擊執行按鈕,執行“RScript”操作對象,執行過程中可以看到一閃而過的調用“R語言”產生的日志窗口。
8.結果,在結果子標簽中,我們可以看到一列的結果:圖表結果、文本結果和其他結果。
(Phoenix不支持中文,所以文本結果中的中文顯示為問號,如果想查看正常的文本結果,鼠標右擊文本結果,導出為“txt”格式,即可使用記事本查看到正常的結果)
案例中“R語言”代碼的注釋
原始代碼:
注釋(下圖中綠色的部分為注釋):
R語言代碼文本:
attach(Residuals) #WNL_IN ID IVAR TAD POPPRED INDPRED OBS IRES WTIRES WRES CWRES PCWRES CdfPCWRESCdfDV#
attach(Eta) #WNL_IN Id nVnCl#
lo = min(min(Residuals$POPPRED), min(Residuals$OBS) )
hi = max(max(Residuals$POPPRED), max(Residuals$OBS) )
jpeg("test.jpg")
plot(Residuals$POPPRED,Residuals$OBS,
xlab=" Population fitted values",
ylab="Observed values",
xlim=c(lo,hi))
dev.off()
jpeg("resvsfit.jpg")
plot(Residuals$INDPRED,Residuals$WTIRES,?
xlab="Individual subject fitted values",
ylab="Standardized within-subject residuals",
ylim=c(-hi,hi))
dev.off()
jpeg("qqnorm.jpg")
qqnorm(Residuals$WTIRES, ylab="Standardized within-subject residuals")
dev.off()
小結
1.在Phoenix中“R語言”通過使用“attach(表格名) #列名1 列名2 ..列名n#”語句來讀取Phoenix中的表格。
2.代碼執行完畢后,Phoenix會讀取工作空間中的文件(圖),把它們展示到結果列表中去。
如想在“結果”標簽中展示“表格”類型的結果,可使用如下語句:
write.csv(Residuals,file = "foo.csv", row.names = F, quote = F)
如想在“結果”標簽中展示“文本”類型的結果,可使用如下語句:
write.table(Residuals,file = "foo.txt", row.names = F, quote = F)
到此本案例就結束了,通過該案例我們可以發現,在Phoenix中使用R非常的方便,可以提高R代碼的可重用性,和健壯性,并可以在Phoenix中通過調用“R語言”來實現一些復雜而新奇的功能,是一種對Phoenix的有益補充。