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