df<-read.csv("teg.csv", na = c("", " ", "NA"),fileEncoding = "Shift-JIS")
df
## ID fib MACFF A10CRT A10CFF
## 1 1 216 9.2 42.6 9.0
## 2 2 217 11.2 39.0 10.0
## 3 3 117 4.5 26.1 4.0
## 4 4 107 3.2 20.0 2.0
## 5 5 182 5.6 38.0 5.0
## 6 6 327 19.8 57.0 19.0
## 7 7 174 2.8 28.0 5.0
## 8 8 136 14.7 45.0 13.0
## 9 9 83 5.1 22.0 2.0
## 10 10 242 18.0 49.0 17.0
## 11 11 202 15.9 43.0 12.0
## 12 12 25 0.0 11.0 3.5
## 13 13 310 22.4 64.0 21.0
## 14 14 25 1.0 5.0 0.5
## 15 15 355 19.3 51.0 17.0
## 16 16 264 16.4 51.5 15.0
## 17 17 260 19.3 56.0 19.0
## 18 18 232 7.9 40.0 10.5
## 19 19 37 1.3 30.0 1.0
## 20 20 121 6.0 30.0 3.2
## 21 21 325 18.7 55.5 17.5
## 22 22 343 21.9 61.0 20.5
## 23 23 312 15.2 47.0 14.0
## 24 24 205 15.8 45.0 14.8
## 25 25 253 15.5 32.0 15.2
## 26 26 161 9.9 39.0 9.5
## 27 27 315 16.0 54.2 14.5
## 28 28 201 18.1 51.9 6.5
## 29 29 61 1.6 20.1 1.5
## 30 30 193 19.0 38.2 11.5
## 31 31 67 0.5 9.4 0.5
## 32 32 86 1.2 37.2 1.5
## 33 33 244 18.3 56.0 17.0
## 34 34 365 19.1 56.0 18.0
## 35 35 343 23.3 59.0 22.0
## 36 36 246 14.5 48.0 11.5
## 37 37 306 20.8 61.0 28.0
## 38 38 443 24.3 58.0 20.0
## 39 39 352 19.1 43.0 18.6
## 40 40 290 18.3 52.0 17.0
## 41 41 248 12.6 40.0 12.0
## 42 42 404 19.6 38.0 19.0
## 43 43 322 22.8 59.0 21.0
## 44 44 254 14.0 36.0 12.0
## 45 45 461 28.6 45.0 15.2
## 46 46 295 16.3 59.0 15.0
## 47 47 171 3.3 40.0 2.8
## 48 48 109 4.5 25.0 7.2
## 49 49 257 12.8 43.0 11.6
## 50 50 188 2.9 30.0 7.5
## 51 51 221 23.9 59.0 23.0
## 52 52 193 9.6 40.0 8.0
## 53 53 219 16.6 53.0 15.0
## 54 54 284 21.4 60.0 20.5
## 55 55 57 2.5 22.0 0.5
## 56 56 290 30.3 64.4 28.8
## 57 57 97 12.0 33.7 3.2
## 58 58 193 17.9 45.0 17.8
## 59 59 381 20.3 52.9 20.0
## 60 60 208 19.0 52.2 18.0
## 61 61 165 16.1 42.6 5.3
df$fib150 <- ifelse(df$fib < 150, 1, 0)
df$fib200<- ifelse(df$fib < 200, 1, 0)
table(df$fib150)
##
## 0 1
## 47 14
table(df$fib200)
##
## 0 1
## 38 23
# パッケージの読み込み
library(pROC)
## Type 'citation("pROC")' for a citation.
##
## 次のパッケージを付け加えます: 'pROC'
## 以下のオブジェクトは 'package:stats' からマスクされています:
##
## cov, smooth, var
# MACFF 150
roc_data <- roc(df$fib150, df$MACFF)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff <- coords(roc_data, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff))
## [1] "Optimal MACFF cutoff: 6.95"
df$MACFF150<-ifelse(df$MACFF < 7, 1, 0)
table(df$MACFF150)
##
## 0 1
## 45 16
cross_table1 <- table("fib150" = df$fib150, "MACFF7" = df$MACFF150)
print(cross_table1)
## MACFF7
## fib150 0 1
## 0 43 4
## 1 2 12
# MACFF 200
roc_data2 <- roc(df$fib200, df$MACFF)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff2 <- coords(roc_data2, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff2))
## [1] "Optimal MACFF cutoff: 12.3"
df$MACFF200<-ifelse(df$MACFF < 12, 1, 0)
cross_table2 <- table("fib200" = df$fib200, "MACFF12" = df$MACFF200)
print(cross_table2)
## MACFF12
## fib200 0 1
## 0 35 3
## 1 5 18
# A10CRT 150
roc_data3 <- roc(df$fib150, df$A10CRT)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff3 <- coords(roc_data3, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff3))
## [1] "Optimal MACFF cutoff: 37.6"
df$A10CRT150<-ifelse(df$A10CRT<37, 1, 0)
cross_table3 <- table("fib150" = df$fib150, "A1038" = df$A10CRT150)
print(cross_table3)
## A1038
## fib150 0 1
## 0 43 4
## 1 2 12
# A10CRT 200
roc_data4 <- roc(df$fib200, df$A10CRT)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff4 <- coords(roc_data4, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff4))
## [1] "Optimal MACFF cutoff: 42.8"
df$A10CRT200<-ifelse(df$A10CRT<43, 1, 0)
cross_table4 <- table("fib200" = df$fib200, "A1043" = df$A10CRT200)
print(cross_table4)
## A1043
## fib200 0 1
## 0 31 7
## 1 2 21
# A10CFF 150
roc_data5 <- roc(df$fib150, df$A10CFF)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff5 <- coords(roc_data5, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff5))
## [1] "Optimal MACFF cutoff: 4.5"
df$A10CFF150<-ifelse(df$A10CFF<4, 1, 0)
cross_table5 <- table("fib150" = df$fib150, "cff4" = df$A10CFF150)
print(cross_table5)
## cff4
## fib150 0 1
## 0 46 1
## 1 3 11
# A10CFF 200
roc_data6 <- roc(df$fib200, df$A10CFF)
## Setting levels: control = 0, case = 1
## Setting direction: controls > cases
optimal_cutoff6 <- coords(roc_data6, "best", ret = "threshold", transpose = TRUE)
print(paste("Optimal MACFF cutoff:", optimal_cutoff6))
## [1] "Optimal MACFF cutoff: 9.75"
df$A10CFF200<-ifelse(df$A10CFF<10, 1, 0)
cross_table6 <- table("fib200" = df$fib200, "cff4" = df$A10CFF200)
print(cross_table6)
## cff4
## fib200 0 1
## 0 36 2
## 1 3 20