-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path04.Rmd
124 lines (92 loc) · 3.87 KB
/
04.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
```{r include=FALSE, cache=FALSE}
rm(list = ls(all = TRUE))
knitr::opts_chunk$set(error = TRUE,
out.width = '100%', #results = 'hide',
cache = FALSE,
message = FALSE, warning = FALSE)
```
---
output: html_document
editor_options:
chunk_output_type: console
---
# R을 사용한 비구획분석 보고서 {#ncar}
## 이 장에서는 {#summary-ncar}
보고서를 일정한 형식으로 작성하여 다른 사람/기관과 공유하는 것은 중요합니다. 이를 `ncar` 패키지를 사용하여 좀더 쉽게 할 수 있습니다.
이 패키지를 통해서 약동학 파라이터를 보고서 형식의 text, pdf, rtf 파일로 저장할 수 있습니다.
이에 대해 좀더 자세히 알아보겠습니다.
`ncar`의 `DESCRIPTION` 파일을 보면 다음과 같이 설명하고 있습니다.
> `r packageDescription('ncar')$Description`
```{r}
library(tidyverse)
library(ncar)
```
## txtNCA()
우선 저장될 폴더를 확인하면 다음과 같습니다.
```{r}
getwd()
```
저장될 폴더를 변경하고자 한다면 setwd("저장될 경로") 이렇게 설정하면 됩니다.
`txtNCA()` 함수를 사용하여 한 대상자에 대한 plain text 보고서를 작성할 수 있습니다.
```{r eval = FALSE}
txtNCA(Theoph[Theoph$Subject=="1","Time"],
Theoph[Theoph$Subject=="1","conc"],
dose=320, doseUnit="mg", concUnit="mg/L", timeUnit="h")
```
또한, Theoph 자료의 약동학 파라미터 분석 결과는 아래와 같이 텍스트파일로 저장할 수 있습니다.
```{r}
writeLines(txtNCA(Theoph[Theoph$Subject=="1","Time"],
Theoph[Theoph$Subject=="1","conc"],
dose=320, doseUnit="mg", concUnit="mg/L",
timeUnit="h"),
'Output-ncar/txtNCA-Theoph.txt')
```
저장된 파일 내용은 아래와 같습니다.
```{bash, code = readLines('Output-ncar/txtNCA-Theoph.txt'), eval = FALSE}
```
한편 `txtNCA2()`를 다음과 같이 정의하면 여러 대상자에 대한 보고서를 작성 가능합니다.
```{r}
txtNCA2 <- function(dataset){
dataset %>%
as_tibble() %>%
group_by(Subject) %>%
summarise(res = c(ID = glue::glue('ID={unique(Subject)}\n\n'),
txtNCA(Time,
conc,
dose=320,
doseUnit="mg",
concUnit="mg/L",
timeUnit="h")) %>% paste(collapse = '\n')) %>%
.$res %>%
paste(collapse = '\n\n\n\n\n\n')
}
```
```{r}
txtNCA2(Theoph) %>% writeLines('Output-ncar/txtNCA-group-Theoph.txt')
```
저장된 파일 내용은 Appendix \@ref(theophgroup) 에서 확인 가능합니다.
<!--Indometh의 경우 Appendix \@ref(indomethgroup)-->
## pdfNCA()
pdfNCA()로 pdf로 결과를 볼 수 있습니다. (Figure \@ref(fig:pdfnca-output))
```{r pdfNCA}
ncar::pdfNCA(fileName="Output-ncar/pdfNCA-Theoph.pdf", Theoph, key="Subject",
colTime="Time", colConc="conc", dose=320, doseUnit="mg",
timeUnit="h", concUnit="mg/L")
```
```{bash}
magick -density 150 Output-ncar/pdfNCA-Theoph.pdf Output-ncar/pdfNCA-Theoph-%02d.png
magick montage Output-ncar/pdfNCA-Theoph-01.png Output-ncar/pdfNCA-Theoph-02.png Output-ncar/montage.png
```
```{r pdfnca-output, fig.cap = 'pdfNCA() output', fig.width = 6, echo = FALSE}
#knitr::include_graphics('Output-ncar/pdfNCA-Theoph-01.png')
#knitr::include_graphics(c('Output-ncar/pdfNCA-Theoph-01.png', 'Output-ncar/pdfNCA-Theoph-02.png'))
#include_graphics('Output-ncar/pdfNCA-Theoph-02.png')
knitr::include_graphics('Output-ncar/montage.png')
```
## rtfNCA()
마이크로소프트 워드에서 편집가능한 rtf파일을 만듭니다.
```{r eval = FALSE}
ncar::rtfNCA(fileName="rtfNCA-Theoph.rtf", Theoph, key="Subject",
colTime="Time", colConc="conc", dose=320, doseUnit="mg",
timeUnit="h", concUnit="mg/L")
```