NonCompart
패키지의 tblNCA()
함수를 사용해서 비구획분석 결과를 내면 문자형식의 행렬이 생성되고 그 attr로 dimnames
와 units
를 갖는데 이를 long format의 tidy data로 변환하는 방법은 다음과 같습니다.
library(dplyr)
library(tidyr)
library(NonCompart)
먼저 위와 같은 패키지가 설치되어 있어야 합니다.
ncares <- NonCompart::tblNCA(Theoph, key="Subject", dose=320, concUnit="mg/L")
str(ncares)
## chr [1:12, 1:37] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" ...
## - attr(*, "dimnames")=List of 2
## ..$ : NULL
## ..$ : chr [1:37] "Subject" "b0" "CMAX" "CMAXD" ...
## - attr(*, "units")= chr [1:37] "" "" "mg/L" "mg/L/mg" ...
left_join(as_tibble(ncares) %>% gather(PPTESTCD, PPORRES, -Subject),
tibble(PPTESTCD = attr(ncares, 'dimnames')[[2]], UNIT = attr(ncares, 'units')),
by = 'PPTESTCD') %>%
arrange(Subject, PPTESTCD) %>%
head(20)
Subject | PPTESTCD | PPORRES | UNIT |
---|---|---|---|
1 | AUCALL | 148.92305 | h*mg/L |
1 | AUCIFO | 216.611933038226 | h*mg/L |
1 | AUCIFOD | 0.676912290744456 | h*mg/L/mg |
1 | AUCIFP | 216.614955803818 | h*mg/L |
1 | AUCIFPD | 0.67692173688693 | h*mg/L/mg |
1 | AUCLST | 148.92305 | h*mg/L |
1 | AUCPEO | 31.2489169404534 | % |
1 | AUCPEP | 31.2498763313113 | % |
1 | AUMCIFO | 4505.53481941065 | h2*mg/L |
1 | AUMCIFP | 4505.67086458209 | h2*mg/L |
1 | AUMCLST | 1459.0711035 | h2*mg/L |
1 | AUMCPEO | 67.6160286851172 | % |
1 | AUMCPEP | 67.6170064935417 | % |
1 | b0 | 2.36878509420585 | |
1 | CLFO | 1.47729626669981 | L/h |
1 | CLFP | 1.47727565168591 | L/h |
1 | CLST | 3.28 | mg/L |
1 | CLSTP | 3.28014647414312 | mg/L |
1 | CMAX | 10.5 | mg/L |
1 | CMAXD | 0.0328125 | mg/L/mg |
Reference
Wickham H, Francois R, Henry L and Muller K (2017). dplyr: A Grammar of Data Manipulation. R package version 0.7.3, https://CRAN.R-project.org/package=dplyr.
Wickham H and Henry L (2017). tidyr: Easily Tidy Data with ‘spread()’ and ‘gather()’ Functions. R package version 0.7.1, https://CRAN.R-project.org/package=tidyr.
Bae K (2017). NonCompart: Noncompartmental Analysis for Pharmacokinetic Data. R package version 0.3.3, https://CRAN.R-project.org/package=NonCompart.