data <- read.csv("heart.csv")
data
##     age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal
## 1    63   1  3      145  233   1       0     150     0     2.3     0  0    1
## 2    37   1  2      130  250   0       1     187     0     3.5     0  0    2
## 3    41   0  1      130  204   0       0     172     0     1.4     2  0    2
## 4    56   1  1      120  236   0       1     178     0     0.8     2  0    2
## 5    57   0  0      120  354   0       1     163     1     0.6     2  0    2
## 6    57   1  0      140  192   0       1     148     0     0.4     1  0    1
## 7    56   0  1      140  294   0       0     153     0     1.3     1  0    2
## 8    44   1  1      120  263   0       1     173     0     0.0     2  0    3
## 9    52   1  2      172  199   1       1     162     0     0.5     2  0    3
## 10   57   1  2      150  168   0       1     174     0     1.6     2  0    2
## 11   54   1  0      140  239   0       1     160     0     1.2     2  0    2
## 12   48   0  2      130  275   0       1     139     0     0.2     2  0    2
## 13   49   1  1      130  266   0       1     171     0     0.6     2  0    2
## 14   64   1  3      110  211   0       0     144     1     1.8     1  0    2
## 15   58   0  3      150  283   1       0     162     0     1.0     2  0    2
## 16   50   0  2      120  219   0       1     158     0     1.6     1  0    2
## 17   58   0  2      120  340   0       1     172     0     0.0     2  0    2
## 18   66   0  3      150  226   0       1     114     0     2.6     0  0    2
## 19   43   1  0      150  247   0       1     171     0     1.5     2  0    2
## 20   69   0  3      140  239   0       1     151     0     1.8     2  2    2
## 21   59   1  0      135  234   0       1     161     0     0.5     1  0    3
## 22   44   1  2      130  233   0       1     179     1     0.4     2  0    2
## 23   42   1  0      140  226   0       1     178     0     0.0     2  0    2
## 24   61   1  2      150  243   1       1     137     1     1.0     1  0    2
## 25   40   1  3      140  199   0       1     178     1     1.4     2  0    3
## 26   71   0  1      160  302   0       1     162     0     0.4     2  2    2
## 27   59   1  2      150  212   1       1     157     0     1.6     2  0    2
## 28   51   1  2      110  175   0       1     123     0     0.6     2  0    2
## 29   65   0  2      140  417   1       0     157     0     0.8     2  1    2
## 30   53   1  2      130  197   1       0     152     0     1.2     0  0    2
## 31   41   0  1      105  198   0       1     168     0     0.0     2  1    2
## 32   65   1  0      120  177   0       1     140     0     0.4     2  0    3
## 33   44   1  1      130  219   0       0     188     0     0.0     2  0    2
## 34   54   1  2      125  273   0       0     152     0     0.5     0  1    2
## 35   51   1  3      125  213   0       0     125     1     1.4     2  1    2
## 36   46   0  2      142  177   0       0     160     1     1.4     0  0    2
## 37   54   0  2      135  304   1       1     170     0     0.0     2  0    2
## 38   54   1  2      150  232   0       0     165     0     1.6     2  0    3
## 39   65   0  2      155  269   0       1     148     0     0.8     2  0    2
## 40   65   0  2      160  360   0       0     151     0     0.8     2  0    2
## 41   51   0  2      140  308   0       0     142     0     1.5     2  1    2
## 42   48   1  1      130  245   0       0     180     0     0.2     1  0    2
## 43   45   1  0      104  208   0       0     148     1     3.0     1  0    2
## 44   53   0  0      130  264   0       0     143     0     0.4     1  0    2
## 45   39   1  2      140  321   0       0     182     0     0.0     2  0    2
## 46   52   1  1      120  325   0       1     172     0     0.2     2  0    2
## 47   44   1  2      140  235   0       0     180     0     0.0     2  0    2
## 48   47   1  2      138  257   0       0     156     0     0.0     2  0    2
## 49   53   0  2      128  216   0       0     115     0     0.0     2  0    0
## 50   53   0  0      138  234   0       0     160     0     0.0     2  0    2
## 51   51   0  2      130  256   0       0     149     0     0.5     2  0    2
## 52   66   1  0      120  302   0       0     151     0     0.4     1  0    2
## 53   62   1  2      130  231   0       1     146     0     1.8     1  3    3
## 54   44   0  2      108  141   0       1     175     0     0.6     1  0    2
## 55   63   0  2      135  252   0       0     172     0     0.0     2  0    2
## 56   52   1  1      134  201   0       1     158     0     0.8     2  1    2
## 57   48   1  0      122  222   0       0     186     0     0.0     2  0    2
## 58   45   1  0      115  260   0       0     185     0     0.0     2  0    2
## 59   34   1  3      118  182   0       0     174     0     0.0     2  0    2
## 60   57   0  0      128  303   0       0     159     0     0.0     2  1    2
## 61   71   0  2      110  265   1       0     130     0     0.0     2  1    2
## 62   54   1  1      108  309   0       1     156     0     0.0     2  0    3
## 63   52   1  3      118  186   0       0     190     0     0.0     1  0    1
## 64   41   1  1      135  203   0       1     132     0     0.0     1  0    1
## 65   58   1  2      140  211   1       0     165     0     0.0     2  0    2
## 66   35   0  0      138  183   0       1     182     0     1.4     2  0    2
## 67   51   1  2      100  222   0       1     143     1     1.2     1  0    2
## 68   45   0  1      130  234   0       0     175     0     0.6     1  0    2
## 69   44   1  1      120  220   0       1     170     0     0.0     2  0    2
## 70   62   0  0      124  209   0       1     163     0     0.0     2  0    2
## 71   54   1  2      120  258   0       0     147     0     0.4     1  0    3
## 72   51   1  2       94  227   0       1     154     1     0.0     2  1    3
## 73   29   1  1      130  204   0       0     202     0     0.0     2  0    2
## 74   51   1  0      140  261   0       0     186     1     0.0     2  0    2
## 75   43   0  2      122  213   0       1     165     0     0.2     1  0    2
## 76   55   0  1      135  250   0       0     161     0     1.4     1  0    2
## 77   51   1  2      125  245   1       0     166     0     2.4     1  0    2
## 78   59   1  1      140  221   0       1     164     1     0.0     2  0    2
## 79   52   1  1      128  205   1       1     184     0     0.0     2  0    2
## 80   58   1  2      105  240   0       0     154     1     0.6     1  0    3
## 81   41   1  2      112  250   0       1     179     0     0.0     2  0    2
## 82   45   1  1      128  308   0       0     170     0     0.0     2  0    2
## 83   60   0  2      102  318   0       1     160     0     0.0     2  1    2
## 84   52   1  3      152  298   1       1     178     0     1.2     1  0    3
## 85   42   0  0      102  265   0       0     122     0     0.6     1  0    2
## 86   67   0  2      115  564   0       0     160     0     1.6     1  0    3
## 87   68   1  2      118  277   0       1     151     0     1.0     2  1    3
## 88   46   1  1      101  197   1       1     156     0     0.0     2  0    3
## 89   54   0  2      110  214   0       1     158     0     1.6     1  0    2
## 90   58   0  0      100  248   0       0     122     0     1.0     1  0    2
## 91   48   1  2      124  255   1       1     175     0     0.0     2  2    2
## 92   57   1  0      132  207   0       1     168     1     0.0     2  0    3
## 93   52   1  2      138  223   0       1     169     0     0.0     2  4    2
## 94   54   0  1      132  288   1       0     159     1     0.0     2  1    2
## 95   45   0  1      112  160   0       1     138     0     0.0     1  0    2
## 96   53   1  0      142  226   0       0     111     1     0.0     2  0    3
## 97   62   0  0      140  394   0       0     157     0     1.2     1  0    2
## 98   52   1  0      108  233   1       1     147     0     0.1     2  3    3
## 99   43   1  2      130  315   0       1     162     0     1.9     2  1    2
## 100  53   1  2      130  246   1       0     173     0     0.0     2  3    2
## 101  42   1  3      148  244   0       0     178     0     0.8     2  2    2
## 102  59   1  3      178  270   0       0     145     0     4.2     0  0    3
## 103  63   0  1      140  195   0       1     179     0     0.0     2  2    2
## 104  42   1  2      120  240   1       1     194     0     0.8     0  0    3
## 105  50   1  2      129  196   0       1     163     0     0.0     2  0    2
## 106  68   0  2      120  211   0       0     115     0     1.5     1  0    2
## 107  69   1  3      160  234   1       0     131     0     0.1     1  1    2
## 108  45   0  0      138  236   0       0     152     1     0.2     1  0    2
## 109  50   0  1      120  244   0       1     162     0     1.1     2  0    2
## 110  50   0  0      110  254   0       0     159     0     0.0     2  0    2
## 111  64   0  0      180  325   0       1     154     1     0.0     2  0    2
## 112  57   1  2      150  126   1       1     173     0     0.2     2  1    3
## 113  64   0  2      140  313   0       1     133     0     0.2     2  0    3
## 114  43   1  0      110  211   0       1     161     0     0.0     2  0    3
## 115  55   1  1      130  262   0       1     155     0     0.0     2  0    2
## 116  37   0  2      120  215   0       1     170     0     0.0     2  0    2
## 117  41   1  2      130  214   0       0     168     0     2.0     1  0    2
## 118  56   1  3      120  193   0       0     162     0     1.9     1  0    3
## 119  46   0  1      105  204   0       1     172     0     0.0     2  0    2
## 120  46   0  0      138  243   0       0     152     1     0.0     1  0    2
## 121  64   0  0      130  303   0       1     122     0     2.0     1  2    2
## 122  59   1  0      138  271   0       0     182     0     0.0     2  0    2
## 123  41   0  2      112  268   0       0     172     1     0.0     2  0    2
## 124  54   0  2      108  267   0       0     167     0     0.0     2  0    2
## 125  39   0  2       94  199   0       1     179     0     0.0     2  0    2
## 126  34   0  1      118  210   0       1     192     0     0.7     2  0    2
## 127  47   1  0      112  204   0       1     143     0     0.1     2  0    2
## 128  67   0  2      152  277   0       1     172     0     0.0     2  1    2
## 129  52   0  2      136  196   0       0     169     0     0.1     1  0    2
## 130  74   0  1      120  269   0       0     121     1     0.2     2  1    2
## 131  54   0  2      160  201   0       1     163     0     0.0     2  1    2
## 132  49   0  1      134  271   0       1     162     0     0.0     1  0    2
## 133  42   1  1      120  295   0       1     162     0     0.0     2  0    2
## 134  41   1  1      110  235   0       1     153     0     0.0     2  0    2
## 135  41   0  1      126  306   0       1     163     0     0.0     2  0    2
## 136  49   0  0      130  269   0       1     163     0     0.0     2  0    2
## 137  60   0  2      120  178   1       1      96     0     0.0     2  0    2
## 138  62   1  1      128  208   1       0     140     0     0.0     2  0    2
## 139  57   1  0      110  201   0       1     126     1     1.5     1  0    1
## 140  64   1  0      128  263   0       1     105     1     0.2     1  1    3
## 141  51   0  2      120  295   0       0     157     0     0.6     2  0    2
## 142  43   1  0      115  303   0       1     181     0     1.2     1  0    2
## 143  42   0  2      120  209   0       1     173     0     0.0     1  0    2
## 144  67   0  0      106  223   0       1     142     0     0.3     2  2    2
## 145  76   0  2      140  197   0       2     116     0     1.1     1  0    2
## 146  70   1  1      156  245   0       0     143     0     0.0     2  0    2
## 147  44   0  2      118  242   0       1     149     0     0.3     1  1    2
## 148  60   0  3      150  240   0       1     171     0     0.9     2  0    2
## 149  44   1  2      120  226   0       1     169     0     0.0     2  0    2
## 150  42   1  2      130  180   0       1     150     0     0.0     2  0    2
## 151  66   1  0      160  228   0       0     138     0     2.3     2  0    1
## 152  71   0  0      112  149   0       1     125     0     1.6     1  0    2
## 153  64   1  3      170  227   0       0     155     0     0.6     1  0    3
## 154  66   0  2      146  278   0       0     152     0     0.0     1  1    2
## 155  39   0  2      138  220   0       1     152     0     0.0     1  0    2
## 156  58   0  0      130  197   0       1     131     0     0.6     1  0    2
## 157  47   1  2      130  253   0       1     179     0     0.0     2  0    2
## 158  35   1  1      122  192   0       1     174     0     0.0     2  0    2
## 159  58   1  1      125  220   0       1     144     0     0.4     1  4    3
## 160  56   1  1      130  221   0       0     163     0     0.0     2  0    3
## 161  56   1  1      120  240   0       1     169     0     0.0     0  0    2
## 162  55   0  1      132  342   0       1     166     0     1.2     2  0    2
## 163  41   1  1      120  157   0       1     182     0     0.0     2  0    2
## 164  38   1  2      138  175   0       1     173     0     0.0     2  4    2
## 165  38   1  2      138  175   0       1     173     0     0.0     2  4    2
## 166  67   1  0      160  286   0       0     108     1     1.5     1  3    2
## 167  67   1  0      120  229   0       0     129     1     2.6     1  2    3
## 168  62   0  0      140  268   0       0     160     0     3.6     0  2    2
## 169  63   1  0      130  254   0       0     147     0     1.4     1  1    3
## 170  53   1  0      140  203   1       0     155     1     3.1     0  0    3
## 171  56   1  2      130  256   1       0     142     1     0.6     1  1    1
## 172  48   1  1      110  229   0       1     168     0     1.0     0  0    3
## 173  58   1  1      120  284   0       0     160     0     1.8     1  0    2
## 174  58   1  2      132  224   0       0     173     0     3.2     2  2    3
## 175  60   1  0      130  206   0       0     132     1     2.4     1  2    3
## 176  40   1  0      110  167   0       0     114     1     2.0     1  0    3
## 177  60   1  0      117  230   1       1     160     1     1.4     2  2    3
## 178  64   1  2      140  335   0       1     158     0     0.0     2  0    2
## 179  43   1  0      120  177   0       0     120     1     2.5     1  0    3
## 180  57   1  0      150  276   0       0     112     1     0.6     1  1    1
## 181  55   1  0      132  353   0       1     132     1     1.2     1  1    3
## 182  65   0  0      150  225   0       0     114     0     1.0     1  3    3
## 183  61   0  0      130  330   0       0     169     0     0.0     2  0    2
## 184  58   1  2      112  230   0       0     165     0     2.5     1  1    3
## 185  50   1  0      150  243   0       0     128     0     2.6     1  0    3
## 186  44   1  0      112  290   0       0     153     0     0.0     2  1    2
## 187  60   1  0      130  253   0       1     144     1     1.4     2  1    3
## 188  54   1  0      124  266   0       0     109     1     2.2     1  1    3
## 189  50   1  2      140  233   0       1     163     0     0.6     1  1    3
## 190  41   1  0      110  172   0       0     158     0     0.0     2  0    3
## 191  51   0  0      130  305   0       1     142     1     1.2     1  0    3
## 192  58   1  0      128  216   0       0     131     1     2.2     1  3    3
## 193  54   1  0      120  188   0       1     113     0     1.4     1  1    3
## 194  60   1  0      145  282   0       0     142     1     2.8     1  2    3
## 195  60   1  2      140  185   0       0     155     0     3.0     1  0    2
## 196  59   1  0      170  326   0       0     140     1     3.4     0  0    3
## 197  46   1  2      150  231   0       1     147     0     3.6     1  0    2
## 198  67   1  0      125  254   1       1     163     0     0.2     1  2    3
## 199  62   1  0      120  267   0       1      99     1     1.8     1  2    3
## 200  65   1  0      110  248   0       0     158     0     0.6     2  2    1
## 201  44   1  0      110  197   0       0     177     0     0.0     2  1    2
## 202  60   1  0      125  258   0       0     141     1     2.8     1  1    3
## 203  58   1  0      150  270   0       0     111     1     0.8     2  0    3
## 204  68   1  2      180  274   1       0     150     1     1.6     1  0    3
## 205  62   0  0      160  164   0       0     145     0     6.2     0  3    3
## 206  52   1  0      128  255   0       1     161     1     0.0     2  1    3
## 207  59   1  0      110  239   0       0     142     1     1.2     1  1    3
## 208  60   0  0      150  258   0       0     157     0     2.6     1  2    3
## 209  49   1  2      120  188   0       1     139     0     2.0     1  3    3
## 210  59   1  0      140  177   0       1     162     1     0.0     2  1    3
## 211  57   1  2      128  229   0       0     150     0     0.4     1  1    3
## 212  61   1  0      120  260   0       1     140     1     3.6     1  1    3
## 213  39   1  0      118  219   0       1     140     0     1.2     1  0    3
## 214  61   0  0      145  307   0       0     146     1     1.0     1  0    3
## 215  56   1  0      125  249   1       0     144     1     1.2     1  1    2
## 216  43   0  0      132  341   1       0     136     1     3.0     1  0    3
## 217  62   0  2      130  263   0       1      97     0     1.2     1  1    3
## 218  63   1  0      130  330   1       0     132     1     1.8     2  3    3
## 219  65   1  0      135  254   0       0     127     0     2.8     1  1    3
## 220  48   1  0      130  256   1       0     150     1     0.0     2  2    3
## 221  63   0  0      150  407   0       0     154     0     4.0     1  3    3
## 222  55   1  0      140  217   0       1     111     1     5.6     0  0    3
## 223  65   1  3      138  282   1       0     174     0     1.4     1  1    2
## 224  56   0  0      200  288   1       0     133     1     4.0     0  2    3
## 225  54   1  0      110  239   0       1     126     1     2.8     1  1    3
## 226  70   1  0      145  174   0       1     125     1     2.6     0  0    3
## 227  62   1  1      120  281   0       0     103     0     1.4     1  1    3
## 228  35   1  0      120  198   0       1     130     1     1.6     1  0    3
## 229  59   1  3      170  288   0       0     159     0     0.2     1  0    3
## 230  64   1  2      125  309   0       1     131     1     1.8     1  0    3
## 231  47   1  2      108  243   0       1     152     0     0.0     2  0    2
## 232  57   1  0      165  289   1       0     124     0     1.0     1  3    3
## 233  55   1  0      160  289   0       0     145     1     0.8     1  1    3
## 234  64   1  0      120  246   0       0      96     1     2.2     0  1    2
## 235  70   1  0      130  322   0       0     109     0     2.4     1  3    2
## 236  51   1  0      140  299   0       1     173     1     1.6     2  0    3
## 237  58   1  0      125  300   0       0     171     0     0.0     2  2    3
## 238  60   1  0      140  293   0       0     170     0     1.2     1  2    3
## 239  77   1  0      125  304   0       0     162     1     0.0     2  3    2
## 240  35   1  0      126  282   0       0     156     1     0.0     2  0    3
## 241  70   1  2      160  269   0       1     112     1     2.9     1  1    3
## 242  59   0  0      174  249   0       1     143     1     0.0     1  0    2
## 243  64   1  0      145  212   0       0     132     0     2.0     1  2    1
## 244  57   1  0      152  274   0       1      88     1     1.2     1  1    3
## 245  56   1  0      132  184   0       0     105     1     2.1     1  1    1
## 246  48   1  0      124  274   0       0     166     0     0.5     1  0    3
## 247  56   0  0      134  409   0       0     150     1     1.9     1  2    3
## 248  66   1  1      160  246   0       1     120     1     0.0     1  3    1
## 249  54   1  1      192  283   0       0     195     0     0.0     2  1    3
## 250  69   1  2      140  254   0       0     146     0     2.0     1  3    3
## 251  51   1  0      140  298   0       1     122     1     4.2     1  3    3
## 252  43   1  0      132  247   1       0     143     1     0.1     1  4    3
## 253  62   0  0      138  294   1       1     106     0     1.9     1  3    2
## 254  67   1  0      100  299   0       0     125     1     0.9     1  2    2
## 255  59   1  3      160  273   0       0     125     0     0.0     2  0    2
## 256  45   1  0      142  309   0       0     147     1     0.0     1  3    3
## 257  58   1  0      128  259   0       0     130     1     3.0     1  2    3
## 258  50   1  0      144  200   0       0     126     1     0.9     1  0    3
## 259  62   0  0      150  244   0       1     154     1     1.4     1  0    2
## 260  38   1  3      120  231   0       1     182     1     3.8     1  0    3
## 261  66   0  0      178  228   1       1     165     1     1.0     1  2    3
## 262  52   1  0      112  230   0       1     160     0     0.0     2  1    2
## 263  53   1  0      123  282   0       1      95     1     2.0     1  2    3
## 264  63   0  0      108  269   0       1     169     1     1.8     1  2    2
## 265  54   1  0      110  206   0       0     108     1     0.0     1  1    2
## 266  66   1  0      112  212   0       0     132     1     0.1     2  1    2
## 267  55   0  0      180  327   0       2     117     1     3.4     1  0    2
## 268  49   1  2      118  149   0       0     126     0     0.8     2  3    2
## 269  54   1  0      122  286   0       0     116     1     3.2     1  2    2
## 270  56   1  0      130  283   1       0     103     1     1.6     0  0    3
## 271  46   1  0      120  249   0       0     144     0     0.8     2  0    3
## 272  61   1  3      134  234   0       1     145     0     2.6     1  2    2
## 273  67   1  0      120  237   0       1      71     0     1.0     1  0    2
## 274  58   1  0      100  234   0       1     156     0     0.1     2  1    3
## 275  47   1  0      110  275   0       0     118     1     1.0     1  1    2
## 276  52   1  0      125  212   0       1     168     0     1.0     2  2    3
## 277  58   1  0      146  218   0       1     105     0     2.0     1  1    3
## 278  57   1  1      124  261   0       1     141     0     0.3     2  0    3
## 279  58   0  1      136  319   1       0     152     0     0.0     2  2    2
## 280  61   1  0      138  166   0       0     125     1     3.6     1  1    2
## 281  42   1  0      136  315   0       1     125     1     1.8     1  0    1
## 282  52   1  0      128  204   1       1     156     1     1.0     1  0    0
## 283  59   1  2      126  218   1       1     134     0     2.2     1  1    1
## 284  40   1  0      152  223   0       1     181     0     0.0     2  0    3
## 285  61   1  0      140  207   0       0     138     1     1.9     2  1    3
## 286  46   1  0      140  311   0       1     120     1     1.8     1  2    3
## 287  59   1  3      134  204   0       1     162     0     0.8     2  2    2
## 288  57   1  1      154  232   0       0     164     0     0.0     2  1    2
## 289  57   1  0      110  335   0       1     143     1     3.0     1  1    3
## 290  55   0  0      128  205   0       2     130     1     2.0     1  1    3
## 291  61   1  0      148  203   0       1     161     0     0.0     2  1    3
## 292  58   1  0      114  318   0       2     140     0     4.4     0  3    1
## 293  58   0  0      170  225   1       0     146     1     2.8     1  2    1
## 294  67   1  2      152  212   0       0     150     0     0.8     1  0    3
## 295  44   1  0      120  169   0       1     144     1     2.8     0  0    1
## 296  63   1  0      140  187   0       0     144     1     4.0     2  2    3
## 297  63   0  0      124  197   0       1     136     1     0.0     1  0    2
## 298  59   1  0      164  176   1       0      90     0     1.0     1  2    1
## 299  57   0  0      140  241   0       1     123     1     0.2     1  0    3
## 300  45   1  3      110  264   0       1     132     0     1.2     1  0    3
## 301  68   1  0      144  193   1       1     141     0     3.4     1  2    3
## 302  57   1  0      130  131   0       1     115     1     1.2     1  1    3
## 303  57   0  1      130  236   0       0     174     0     0.0     1  1    2
##     target
## 1        1
## 2        1
## 3        1
## 4        1
## 5        1
## 6        1
## 7        1
## 8        1
## 9        1
## 10       1
## 11       1
## 12       1
## 13       1
## 14       1
## 15       1
## 16       1
## 17       1
## 18       1
## 19       1
## 20       1
## 21       1
## 22       1
## 23       1
## 24       1
## 25       1
## 26       1
## 27       1
## 28       1
## 29       1
## 30       1
## 31       1
## 32       1
## 33       1
## 34       1
## 35       1
## 36       1
## 37       1
## 38       1
## 39       1
## 40       1
## 41       1
## 42       1
## 43       1
## 44       1
## 45       1
## 46       1
## 47       1
## 48       1
## 49       1
## 50       1
## 51       1
## 52       1
## 53       1
## 54       1
## 55       1
## 56       1
## 57       1
## 58       1
## 59       1
## 60       1
## 61       1
## 62       1
## 63       1
## 64       1
## 65       1
## 66       1
## 67       1
## 68       1
## 69       1
## 70       1
## 71       1
## 72       1
## 73       1
## 74       1
## 75       1
## 76       1
## 77       1
## 78       1
## 79       1
## 80       1
## 81       1
## 82       1
## 83       1
## 84       1
## 85       1
## 86       1
## 87       1
## 88       1
## 89       1
## 90       1
## 91       1
## 92       1
## 93       1
## 94       1
## 95       1
## 96       1
## 97       1
## 98       1
## 99       1
## 100      1
## 101      1
## 102      1
## 103      1
## 104      1
## 105      1
## 106      1
## 107      1
## 108      1
## 109      1
## 110      1
## 111      1
## 112      1
## 113      1
## 114      1
## 115      1
## 116      1
## 117      1
## 118      1
## 119      1
## 120      1
## 121      1
## 122      1
## 123      1
## 124      1
## 125      1
## 126      1
## 127      1
## 128      1
## 129      1
## 130      1
## 131      1
## 132      1
## 133      1
## 134      1
## 135      1
## 136      1
## 137      1
## 138      1
## 139      1
## 140      1
## 141      1
## 142      1
## 143      1
## 144      1
## 145      1
## 146      1
## 147      1
## 148      1
## 149      1
## 150      1
## 151      1
## 152      1
## 153      1
## 154      1
## 155      1
## 156      1
## 157      1
## 158      1
## 159      1
## 160      1
## 161      1
## 162      1
## 163      1
## 164      1
## 165      1
## 166      0
## 167      0
## 168      0
## 169      0
## 170      0
## 171      0
## 172      0
## 173      0
## 174      0
## 175      0
## 176      0
## 177      0
## 178      0
## 179      0
## 180      0
## 181      0
## 182      0
## 183      0
## 184      0
## 185      0
## 186      0
## 187      0
## 188      0
## 189      0
## 190      0
## 191      0
## 192      0
## 193      0
## 194      0
## 195      0
## 196      0
## 197      0
## 198      0
## 199      0
## 200      0
## 201      0
## 202      0
## 203      0
## 204      0
## 205      0
## 206      0
## 207      0
## 208      0
## 209      0
## 210      0
## 211      0
## 212      0
## 213      0
## 214      0
## 215      0
## 216      0
## 217      0
## 218      0
## 219      0
## 220      0
## 221      0
## 222      0
## 223      0
## 224      0
## 225      0
## 226      0
## 227      0
## 228      0
## 229      0
## 230      0
## 231      0
## 232      0
## 233      0
## 234      0
## 235      0
## 236      0
## 237      0
## 238      0
## 239      0
## 240      0
## 241      0
## 242      0
## 243      0
## 244      0
## 245      0
## 246      0
## 247      0
## 248      0
## 249      0
## 250      0
## 251      0
## 252      0
## 253      0
## 254      0
## 255      0
## 256      0
## 257      0
## 258      0
## 259      0
## 260      0
## 261      0
## 262      0
## 263      0
## 264      0
## 265      0
## 266      0
## 267      0
## 268      0
## 269      0
## 270      0
## 271      0
## 272      0
## 273      0
## 274      0
## 275      0
## 276      0
## 277      0
## 278      0
## 279      0
## 280      0
## 281      0
## 282      0
## 283      0
## 284      0
## 285      0
## 286      0
## 287      0
## 288      0
## 289      0
## 290      0
## 291      0
## 292      0
## 293      0
## 294      0
## 295      0
## 296      0
## 297      0
## 298      0
## 299      0
## 300      0
## 301      0
## 302      0
## 303      0

Pre-Processing

Rename Variablee

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- data %>%
  rename(
    chest_pain_type = cp,
    resting_blood_pressure = trestbps,
    cholesterol = chol,
    fasting_blood_sugar = fbs,
    resting_electrocardiogram = restecg,
    max_heart_rate_achieved = thalach,
    exercise_induced_angina = exang,
    st_depression = oldpeak,
    st_slope = slope,
    num_major_vessels = ca,
    thalassemia = thal
  )
str(data)
## 'data.frame':    303 obs. of  14 variables:
##  $ age                      : int  63 37 41 56 57 57 56 44 52 57 ...
##  $ sex                      : int  1 1 0 1 0 1 0 1 1 1 ...
##  $ chest_pain_type          : int  3 2 1 1 0 0 1 1 2 2 ...
##  $ resting_blood_pressure   : int  145 130 130 120 120 140 140 120 172 150 ...
##  $ cholesterol              : int  233 250 204 236 354 192 294 263 199 168 ...
##  $ fasting_blood_sugar      : int  1 0 0 0 0 0 0 0 1 0 ...
##  $ resting_electrocardiogram: int  0 1 0 1 1 1 0 1 1 1 ...
##  $ max_heart_rate_achieved  : int  150 187 172 178 163 148 153 173 162 174 ...
##  $ exercise_induced_angina  : int  0 0 0 0 1 0 0 0 0 0 ...
##  $ st_depression            : num  2.3 3.5 1.4 0.8 0.6 0.4 1.3 0 0.5 1.6 ...
##  $ st_slope                 : int  0 0 2 2 2 1 1 2 2 2 ...
##  $ num_major_vessels        : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ thalassemia              : int  1 2 2 2 2 1 2 3 3 2 ...
##  $ target                   : int  1 1 1 1 1 1 1 1 1 1 ...

Ambil Variabel yang diperlukan

df_model <- data[, c(
  "resting_blood_pressure",
  "cholesterol",
  "target",
  "sex",
  "age",
  "max_heart_rate_achieved"
)]

Mengubah Tipe data

df_model$sex <- factor(df_model$sex,
                       levels = c(0,1),
                       labels = c("Female","Male"))

df_model$target <- factor(df_model$target,
                          levels = c(0,1),
                          labels = c("No Disease","Disease"))

cek Tipe data

str(df_model)
## 'data.frame':    303 obs. of  6 variables:
##  $ resting_blood_pressure : int  145 130 130 120 120 140 140 120 172 150 ...
##  $ cholesterol            : int  233 250 204 236 354 192 294 263 199 168 ...
##  $ target                 : Factor w/ 2 levels "No Disease","Disease": 2 2 2 2 2 2 2 2 2 2 ...
##  $ sex                    : Factor w/ 2 levels "Female","Male": 2 2 1 2 1 2 1 2 2 2 ...
##  $ age                    : int  63 37 41 56 57 57 56 44 52 57 ...
##  $ max_heart_rate_achieved: int  150 187 172 178 163 148 153 173 162 174 ...

Cek Nan

colSums(is.na(df_model))
##  resting_blood_pressure             cholesterol                  target 
##                       0                       0                       0 
##                     sex                     age max_heart_rate_achieved 
##                       0                       0                       0

EDA

par(mfrow = c(1,2))

# Blood Pressure
plot(density(df_model$resting_blood_pressure),
     main = "Blood Pressure",
     xlab = "Blood Pressure",
     col = "blue", lwd = 2)
polygon(density(df_model$resting_blood_pressure),
        col = "lightblue")

# Cholesterol
plot(density(df_model$cholesterol),
     main = "Cholesterol",
     xlab = "Cholesterol",
     col = "green", lwd = 2)
polygon(density(df_model$cholesterol),
        col = "lightgreen")

par(mfrow = c(1,2))

boxplot(resting_blood_pressure ~ target, data=df_model,
        main="Blood Pressure by Disease")

boxplot(cholesterol ~ target, data=df_model,
        main="Cholesterol by Disease")

cor(df_model[, c(
  "resting_blood_pressure",
  "cholesterol",
  "age",
  "max_heart_rate_achieved"
)])
##                         resting_blood_pressure  cholesterol        age
## resting_blood_pressure              1.00000000  0.123174207  0.2793509
## cholesterol                         0.12317421  1.000000000  0.2136780
## age                                 0.27935091  0.213677957  1.0000000
## max_heart_rate_achieved            -0.04669773 -0.009939839 -0.3985219
##                         max_heart_rate_achieved
## resting_blood_pressure             -0.046697728
## cholesterol                        -0.009939839
## age                                -0.398521938
## max_heart_rate_achieved             1.000000000
summary(df_model)
##  resting_blood_pressure  cholesterol           target        sex     
##  Min.   : 94.0          Min.   :126.0   No Disease:138   Female: 96  
##  1st Qu.:120.0          1st Qu.:211.0   Disease   :165   Male  :207  
##  Median :130.0          Median :240.0                                
##  Mean   :131.6          Mean   :246.3                                
##  3rd Qu.:140.0          3rd Qu.:274.5                                
##  Max.   :200.0          Max.   :564.0                                
##       age        max_heart_rate_achieved
##  Min.   :29.00   Min.   : 71.0          
##  1st Qu.:47.50   1st Qu.:133.5          
##  Median :55.00   Median :153.0          
##  Mean   :54.37   Mean   :149.6          
##  3rd Qu.:61.00   3rd Qu.:166.0          
##  Max.   :77.00   Max.   :202.0
table(df_model$target)
## 
## No Disease    Disease 
##        138        165
table(df_model$sex)
## 
## Female   Male 
##     96    207

Cek Asumsi

Tanpa Penghilangan Outlier

library(MVN)
## Warning: package 'MVN' was built under R version 4.5.3
Y <- df_model[, c("resting_blood_pressure", "cholesterol")]

mvn(Y)
## $multivariate_normality
##            Test Statistic p.value     Method          MVN
## 1 Henze-Zirkler     1.706  <0.001 asymptotic ✗ Not normal
## 
## $univariate_normality
##               Test               Variable Statistic p.value    Normality
## 1 Anderson-Darling resting_blood_pressure     2.572  <0.001 ✗ Not normal
## 2 Anderson-Darling            cholesterol     1.726  <0.001 ✗ Not normal
## 
## $descriptives
##                 Variable   n    Mean Std.Dev Median Min Max 25th  75th  Skew
## 1 resting_blood_pressure 303 131.624  17.538    130  94 200  120 140.0 0.710
## 2            cholesterol 303 246.264  51.831    240 126 564  211 274.5 1.138
##   Kurtosis
## 1    3.894
## 2    7.412
## 
## $data
##     resting_blood_pressure cholesterol
## 1                      145         233
## 2                      130         250
## 3                      130         204
## 4                      120         236
## 5                      120         354
## 6                      140         192
## 7                      140         294
## 8                      120         263
## 9                      172         199
## 10                     150         168
## 11                     140         239
## 12                     130         275
## 13                     130         266
## 14                     110         211
## 15                     150         283
## 16                     120         219
## 17                     120         340
## 18                     150         226
## 19                     150         247
## 20                     140         239
## 21                     135         234
## 22                     130         233
## 23                     140         226
## 24                     150         243
## 25                     140         199
## 26                     160         302
## 27                     150         212
## 28                     110         175
## 29                     140         417
## 30                     130         197
## 31                     105         198
## 32                     120         177
## 33                     130         219
## 34                     125         273
## 35                     125         213
## 36                     142         177
## 37                     135         304
## 38                     150         232
## 39                     155         269
## 40                     160         360
## 41                     140         308
## 42                     130         245
## 43                     104         208
## 44                     130         264
## 45                     140         321
## 46                     120         325
## 47                     140         235
## 48                     138         257
## 49                     128         216
## 50                     138         234
## 51                     130         256
## 52                     120         302
## 53                     130         231
## 54                     108         141
## 55                     135         252
## 56                     134         201
## 57                     122         222
## 58                     115         260
## 59                     118         182
## 60                     128         303
## 61                     110         265
## 62                     108         309
## 63                     118         186
## 64                     135         203
## 65                     140         211
## 66                     138         183
## 67                     100         222
## 68                     130         234
## 69                     120         220
## 70                     124         209
## 71                     120         258
## 72                      94         227
## 73                     130         204
## 74                     140         261
## 75                     122         213
## 76                     135         250
## 77                     125         245
## 78                     140         221
## 79                     128         205
## 80                     105         240
## 81                     112         250
## 82                     128         308
## 83                     102         318
## 84                     152         298
## 85                     102         265
## 86                     115         564
## 87                     118         277
## 88                     101         197
## 89                     110         214
## 90                     100         248
## 91                     124         255
## 92                     132         207
## 93                     138         223
## 94                     132         288
## 95                     112         160
## 96                     142         226
## 97                     140         394
## 98                     108         233
## 99                     130         315
## 100                    130         246
## 101                    148         244
## 102                    178         270
## 103                    140         195
## 104                    120         240
## 105                    129         196
## 106                    120         211
## 107                    160         234
## 108                    138         236
## 109                    120         244
## 110                    110         254
## 111                    180         325
## 112                    150         126
## 113                    140         313
## 114                    110         211
## 115                    130         262
## 116                    120         215
## 117                    130         214
## 118                    120         193
## 119                    105         204
## 120                    138         243
## 121                    130         303
## 122                    138         271
## 123                    112         268
## 124                    108         267
## 125                     94         199
## 126                    118         210
## 127                    112         204
## 128                    152         277
## 129                    136         196
## 130                    120         269
## 131                    160         201
## 132                    134         271
## 133                    120         295
## 134                    110         235
## 135                    126         306
## 136                    130         269
## 137                    120         178
## 138                    128         208
## 139                    110         201
## 140                    128         263
## 141                    120         295
## 142                    115         303
## 143                    120         209
## 144                    106         223
## 145                    140         197
## 146                    156         245
## 147                    118         242
## 148                    150         240
## 149                    120         226
## 150                    130         180
## 151                    160         228
## 152                    112         149
## 153                    170         227
## 154                    146         278
## 155                    138         220
## 156                    130         197
## 157                    130         253
## 158                    122         192
## 159                    125         220
## 160                    130         221
## 161                    120         240
## 162                    132         342
## 163                    120         157
## 164                    138         175
## 165                    138         175
## 166                    160         286
## 167                    120         229
## 168                    140         268
## 169                    130         254
## 170                    140         203
## 171                    130         256
## 172                    110         229
## 173                    120         284
## 174                    132         224
## 175                    130         206
## 176                    110         167
## 177                    117         230
## 178                    140         335
## 179                    120         177
## 180                    150         276
## 181                    132         353
## 182                    150         225
## 183                    130         330
## 184                    112         230
## 185                    150         243
## 186                    112         290
## 187                    130         253
## 188                    124         266
## 189                    140         233
## 190                    110         172
## 191                    130         305
## 192                    128         216
## 193                    120         188
## 194                    145         282
## 195                    140         185
## 196                    170         326
## 197                    150         231
## 198                    125         254
## 199                    120         267
## 200                    110         248
## 201                    110         197
## 202                    125         258
## 203                    150         270
## 204                    180         274
## 205                    160         164
## 206                    128         255
## 207                    110         239
## 208                    150         258
## 209                    120         188
## 210                    140         177
## 211                    128         229
## 212                    120         260
## 213                    118         219
## 214                    145         307
## 215                    125         249
## 216                    132         341
## 217                    130         263
## 218                    130         330
## 219                    135         254
## 220                    130         256
## 221                    150         407
## 222                    140         217
## 223                    138         282
## 224                    200         288
## 225                    110         239
## 226                    145         174
## 227                    120         281
## 228                    120         198
## 229                    170         288
## 230                    125         309
## 231                    108         243
## 232                    165         289
## 233                    160         289
## 234                    120         246
## 235                    130         322
## 236                    140         299
## 237                    125         300
## 238                    140         293
## 239                    125         304
## 240                    126         282
## 241                    160         269
## 242                    174         249
## 243                    145         212
## 244                    152         274
## 245                    132         184
## 246                    124         274
## 247                    134         409
## 248                    160         246
## 249                    192         283
## 250                    140         254
## 251                    140         298
## 252                    132         247
## 253                    138         294
## 254                    100         299
## 255                    160         273
## 256                    142         309
## 257                    128         259
## 258                    144         200
## 259                    150         244
## 260                    120         231
## 261                    178         228
## 262                    112         230
## 263                    123         282
## 264                    108         269
## 265                    110         206
## 266                    112         212
## 267                    180         327
## 268                    118         149
## 269                    122         286
## 270                    130         283
## 271                    120         249
## 272                    134         234
## 273                    120         237
## 274                    100         234
## 275                    110         275
## 276                    125         212
## 277                    146         218
## 278                    124         261
## 279                    136         319
## 280                    138         166
## 281                    136         315
## 282                    128         204
## 283                    126         218
## 284                    152         223
## 285                    140         207
## 286                    140         311
## 287                    134         204
## 288                    154         232
## 289                    110         335
## 290                    128         205
## 291                    148         203
## 292                    114         318
## 293                    170         225
## 294                    152         212
## 295                    120         169
## 296                    140         187
## 297                    124         197
## 298                    164         176
## 299                    140         241
## 300                    110         264
## 301                    144         193
## 302                    130         131
## 303                    130         236
## 
## $subset
## NULL
## 
## $outlierMethod
## [1] "none"
## 
## attr(,"class")
## [1] "mvn"
shapiro.test(df_model$resting_blood_pressure)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_model$resting_blood_pressure
## W = 0.96592, p-value = 1.458e-06
shapiro.test(df_model$cholesterol)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_model$cholesterol
## W = 0.94688, p-value = 5.365e-09
library(biotools)
## Warning: package 'biotools' was built under R version 4.5.3
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
## ---
## biotools version 4.3
Y <- df_model[, c("resting_blood_pressure", "cholesterol")]

group <- interaction(df_model$target, df_model$sex)

boxM(Y, group)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  Y
## Chi-Sq (approx.) = 34.985, df = 9, p-value = 5.995e-05
df_model$bp_log   <- log(df_model$resting_blood_pressure)
df_model$chol_log <- log(df_model$cholesterol)
Y <- df_model[, c("bp_log", "chol_log")]
mvn(Y)
## $multivariate_normality
##            Test Statistic p.value     Method      MVN
## 1 Henze-Zirkler     0.492   0.812 asymptotic ✓ Normal
## 
## $univariate_normality
##               Test Variable Statistic p.value    Normality
## 1 Anderson-Darling   bp_log     1.342   0.002 ✗ Not normal
## 2 Anderson-Darling chol_log     0.261   0.707     ✓ Normal
## 
## $descriptives
##   Variable   n  Mean Std.Dev Median   Min   Max  25th  75th  Skew Kurtosis
## 1   bp_log 303 4.871   0.130  4.868 4.543 5.298 4.787 4.942 0.280    3.197
## 2 chol_log 303 5.486   0.204  5.481 4.836 6.335 5.352 5.615 0.086    3.890
## 
## $data
##       bp_log chol_log
## 1   4.976734 5.451038
## 2   4.867534 5.521461
## 3   4.867534 5.318120
## 4   4.787492 5.463832
## 5   4.787492 5.869297
## 6   4.941642 5.257495
## 7   4.941642 5.683580
## 8   4.787492 5.572154
## 9   5.147494 5.293305
## 10  5.010635 5.123964
## 11  4.941642 5.476464
## 12  4.867534 5.616771
## 13  4.867534 5.583496
## 14  4.700480 5.351858
## 15  5.010635 5.645447
## 16  4.787492 5.389072
## 17  4.787492 5.828946
## 18  5.010635 5.420535
## 19  5.010635 5.509388
## 20  4.941642 5.476464
## 21  4.905275 5.455321
## 22  4.867534 5.451038
## 23  4.941642 5.420535
## 24  5.010635 5.493061
## 25  4.941642 5.293305
## 26  5.075174 5.710427
## 27  5.010635 5.356586
## 28  4.700480 5.164786
## 29  4.941642 6.033086
## 30  4.867534 5.283204
## 31  4.653960 5.288267
## 32  4.787492 5.176150
## 33  4.867534 5.389072
## 34  4.828314 5.609472
## 35  4.828314 5.361292
## 36  4.955827 5.176150
## 37  4.905275 5.717028
## 38  5.010635 5.446737
## 39  5.043425 5.594711
## 40  5.075174 5.886104
## 41  4.941642 5.730100
## 42  4.867534 5.501258
## 43  4.644391 5.337538
## 44  4.867534 5.575949
## 45  4.941642 5.771441
## 46  4.787492 5.783825
## 47  4.941642 5.459586
## 48  4.927254 5.549076
## 49  4.852030 5.375278
## 50  4.927254 5.455321
## 51  4.867534 5.545177
## 52  4.787492 5.710427
## 53  4.867534 5.442418
## 54  4.682131 4.948760
## 55  4.905275 5.529429
## 56  4.897840 5.303305
## 57  4.804021 5.402677
## 58  4.744932 5.560682
## 59  4.770685 5.204007
## 60  4.852030 5.713733
## 61  4.700480 5.579730
## 62  4.682131 5.733341
## 63  4.770685 5.225747
## 64  4.905275 5.313206
## 65  4.941642 5.351858
## 66  4.927254 5.209486
## 67  4.605170 5.402677
## 68  4.867534 5.455321
## 69  4.787492 5.393628
## 70  4.820282 5.342334
## 71  4.787492 5.552960
## 72  4.543295 5.424950
## 73  4.867534 5.318120
## 74  4.941642 5.564520
## 75  4.804021 5.361292
## 76  4.905275 5.521461
## 77  4.828314 5.501258
## 78  4.941642 5.398163
## 79  4.852030 5.323010
## 80  4.653960 5.480639
## 81  4.718499 5.521461
## 82  4.852030 5.730100
## 83  4.624973 5.762051
## 84  5.023881 5.697093
## 85  4.624973 5.579730
## 86  4.744932 6.335054
## 87  4.770685 5.624018
## 88  4.615121 5.283204
## 89  4.700480 5.365976
## 90  4.605170 5.513429
## 91  4.820282 5.541264
## 92  4.882802 5.332719
## 93  4.927254 5.407172
## 94  4.882802 5.662960
## 95  4.718499 5.075174
## 96  4.955827 5.420535
## 97  4.941642 5.976351
## 98  4.682131 5.451038
## 99  4.867534 5.752573
## 100 4.867534 5.505332
## 101 4.997212 5.497168
## 102 5.181784 5.598422
## 103 4.941642 5.273000
## 104 4.787492 5.480639
## 105 4.859812 5.278115
## 106 4.787492 5.351858
## 107 5.075174 5.455321
## 108 4.927254 5.463832
## 109 4.787492 5.497168
## 110 4.700480 5.537334
## 111 5.192957 5.783825
## 112 5.010635 4.836282
## 113 4.941642 5.746203
## 114 4.700480 5.351858
## 115 4.867534 5.568345
## 116 4.787492 5.370638
## 117 4.867534 5.365976
## 118 4.787492 5.262690
## 119 4.653960 5.318120
## 120 4.927254 5.493061
## 121 4.867534 5.713733
## 122 4.927254 5.602119
## 123 4.718499 5.590987
## 124 4.682131 5.587249
## 125 4.543295 5.293305
## 126 4.770685 5.347108
## 127 4.718499 5.318120
## 128 5.023881 5.624018
## 129 4.912655 5.278115
## 130 4.787492 5.594711
## 131 5.075174 5.303305
## 132 4.897840 5.602119
## 133 4.787492 5.686975
## 134 4.700480 5.459586
## 135 4.836282 5.723585
## 136 4.867534 5.594711
## 137 4.787492 5.181784
## 138 4.852030 5.337538
## 139 4.700480 5.303305
## 140 4.852030 5.572154
## 141 4.787492 5.686975
## 142 4.744932 5.713733
## 143 4.787492 5.342334
## 144 4.663439 5.407172
## 145 4.941642 5.283204
## 146 5.049856 5.501258
## 147 4.770685 5.488938
## 148 5.010635 5.480639
## 149 4.787492 5.420535
## 150 4.867534 5.192957
## 151 5.075174 5.429346
## 152 4.718499 5.003946
## 153 5.135798 5.424950
## 154 4.983607 5.627621
## 155 4.927254 5.393628
## 156 4.867534 5.283204
## 157 4.867534 5.533389
## 158 4.804021 5.257495
## 159 4.828314 5.393628
## 160 4.867534 5.398163
## 161 4.787492 5.480639
## 162 4.882802 5.834811
## 163 4.787492 5.056246
## 164 4.927254 5.164786
## 165 4.927254 5.164786
## 166 5.075174 5.655992
## 167 4.787492 5.433722
## 168 4.941642 5.590987
## 169 4.867534 5.537334
## 170 4.941642 5.313206
## 171 4.867534 5.545177
## 172 4.700480 5.433722
## 173 4.787492 5.648974
## 174 4.882802 5.411646
## 175 4.867534 5.327876
## 176 4.700480 5.117994
## 177 4.762174 5.438079
## 178 4.941642 5.814131
## 179 4.787492 5.176150
## 180 5.010635 5.620401
## 181 4.882802 5.866468
## 182 5.010635 5.416100
## 183 4.867534 5.799093
## 184 4.718499 5.438079
## 185 5.010635 5.493061
## 186 4.718499 5.669881
## 187 4.867534 5.533389
## 188 4.820282 5.583496
## 189 4.941642 5.451038
## 190 4.700480 5.147494
## 191 4.867534 5.720312
## 192 4.852030 5.375278
## 193 4.787492 5.236442
## 194 4.976734 5.641907
## 195 4.941642 5.220356
## 196 5.135798 5.786897
## 197 5.010635 5.442418
## 198 4.828314 5.537334
## 199 4.787492 5.587249
## 200 4.700480 5.513429
## 201 4.700480 5.283204
## 202 4.828314 5.552960
## 203 5.010635 5.598422
## 204 5.192957 5.613128
## 205 5.075174 5.099866
## 206 4.852030 5.541264
## 207 4.700480 5.476464
## 208 5.010635 5.552960
## 209 4.787492 5.236442
## 210 4.941642 5.176150
## 211 4.852030 5.433722
## 212 4.787492 5.560682
## 213 4.770685 5.389072
## 214 4.976734 5.726848
## 215 4.828314 5.517453
## 216 4.882802 5.831882
## 217 4.867534 5.572154
## 218 4.867534 5.799093
## 219 4.905275 5.537334
## 220 4.867534 5.545177
## 221 5.010635 6.008813
## 222 4.941642 5.379897
## 223 4.927254 5.641907
## 224 5.298317 5.662960
## 225 4.700480 5.476464
## 226 4.976734 5.159055
## 227 4.787492 5.638355
## 228 4.787492 5.288267
## 229 5.135798 5.662960
## 230 4.828314 5.733341
## 231 4.682131 5.493061
## 232 5.105945 5.666427
## 233 5.075174 5.666427
## 234 4.787492 5.505332
## 235 4.867534 5.774552
## 236 4.941642 5.700444
## 237 4.828314 5.703782
## 238 4.941642 5.680173
## 239 4.828314 5.717028
## 240 4.836282 5.641907
## 241 5.075174 5.594711
## 242 5.159055 5.517453
## 243 4.976734 5.356586
## 244 5.023881 5.613128
## 245 4.882802 5.214936
## 246 4.820282 5.613128
## 247 4.897840 6.013715
## 248 5.075174 5.505332
## 249 5.257495 5.645447
## 250 4.941642 5.537334
## 251 4.941642 5.697093
## 252 4.882802 5.509388
## 253 4.927254 5.683580
## 254 4.605170 5.700444
## 255 5.075174 5.609472
## 256 4.955827 5.733341
## 257 4.852030 5.556828
## 258 4.969813 5.298317
## 259 5.010635 5.497168
## 260 4.787492 5.442418
## 261 5.181784 5.429346
## 262 4.718499 5.438079
## 263 4.812184 5.641907
## 264 4.682131 5.594711
## 265 4.700480 5.327876
## 266 4.718499 5.356586
## 267 5.192957 5.789960
## 268 4.770685 5.003946
## 269 4.804021 5.655992
## 270 4.867534 5.645447
## 271 4.787492 5.517453
## 272 4.897840 5.455321
## 273 4.787492 5.468060
## 274 4.605170 5.455321
## 275 4.700480 5.616771
## 276 4.828314 5.356586
## 277 4.983607 5.384495
## 278 4.820282 5.564520
## 279 4.912655 5.765191
## 280 4.927254 5.111988
## 281 4.912655 5.752573
## 282 4.852030 5.318120
## 283 4.836282 5.384495
## 284 5.023881 5.407172
## 285 4.941642 5.332719
## 286 4.941642 5.739793
## 287 4.897840 5.318120
## 288 5.036953 5.446737
## 289 4.700480 5.814131
## 290 4.852030 5.323010
## 291 4.997212 5.313206
## 292 4.736198 5.762051
## 293 5.135798 5.416100
## 294 5.023881 5.356586
## 295 4.787492 5.129899
## 296 4.941642 5.231109
## 297 4.820282 5.283204
## 298 5.099866 5.170484
## 299 4.941642 5.484797
## 300 4.700480 5.575949
## 301 4.969813 5.262690
## 302 4.867534 4.875197
## 303 4.867534 5.463832
## 
## $subset
## NULL
## 
## $outlierMethod
## [1] "none"
## 
## attr(,"class")
## [1] "mvn"
shapiro.test(df_model$bp_log)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_model$bp_log
## W = 0.98706, p-value = 0.008145
shapiro.test(df_model$chol_log)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_model$chol_log
## W = 0.99232, p-value = 0.1198

Hapus outlier

keep_iqr <- function(x) {
  Q1 <- quantile(x, 0.25)
  Q3 <- quantile(x, 0.75)
  IQR <- Q3 - Q1
  lower <- Q1 - 1.5 * IQR
  upper <- Q3 + 1.5 * IQR
  x >= lower & x <= upper
}

df_clean <- df_model[
  keep_iqr(df_model$bp_log) &
  keep_iqr(df_model$chol_log),
]

Cek asumsi dengan penanganan outlier

shapiro.test(df_clean$bp_log)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_clean$bp_log
## W = 0.98621, p-value = 0.007336
shapiro.test(df_clean$chol_log)
## 
##  Shapiro-Wilk normality test
## 
## data:  df_clean$chol_log
## W = 0.99703, p-value = 0.8766
nrow(df_model)
## [1] 303
nrow(df_clean)
## [1] 288
Y <- df_clean[, c("bp_log", "chol_log")]
mvn(Y)
## $multivariate_normality
##            Test Statistic p.value     Method      MVN
## 1 Henze-Zirkler     0.466    0.85 asymptotic ✓ Normal
## 
## $univariate_normality
##               Test Variable Statistic p.value    Normality
## 1 Anderson-Darling   bp_log     1.259   0.003 ✗ Not normal
## 2 Anderson-Darling chol_log     0.191   0.897     ✓ Normal
## 
## $descriptives
##   Variable   n  Mean Std.Dev Median   Min   Max  25th  75th   Skew Kurtosis
## 1   bp_log 288 4.866   0.118  4.868 4.605 5.159 4.787 4.942  0.079    2.638
## 2 chol_log 288 5.482   0.185  5.481 5.004 6.009 5.352 5.609 -0.004    2.708
## 
## $data
##       bp_log chol_log
## 1   4.976734 5.451038
## 2   4.867534 5.521461
## 3   4.867534 5.318120
## 4   4.787492 5.463832
## 5   4.787492 5.869297
## 6   4.941642 5.257495
## 7   4.941642 5.683580
## 8   4.787492 5.572154
## 9   5.147494 5.293305
## 10  5.010635 5.123964
## 11  4.941642 5.476464
## 12  4.867534 5.616771
## 13  4.867534 5.583496
## 14  4.700480 5.351858
## 15  5.010635 5.645447
## 16  4.787492 5.389072
## 17  4.787492 5.828946
## 18  5.010635 5.420535
## 19  5.010635 5.509388
## 20  4.941642 5.476464
## 21  4.905275 5.455321
## 22  4.867534 5.451038
## 23  4.941642 5.420535
## 24  5.010635 5.493061
## 25  4.941642 5.293305
## 26  5.075174 5.710427
## 27  5.010635 5.356586
## 28  4.700480 5.164786
## 30  4.867534 5.283204
## 31  4.653960 5.288267
## 32  4.787492 5.176150
## 33  4.867534 5.389072
## 34  4.828314 5.609472
## 35  4.828314 5.361292
## 36  4.955827 5.176150
## 37  4.905275 5.717028
## 38  5.010635 5.446737
## 39  5.043425 5.594711
## 40  5.075174 5.886104
## 41  4.941642 5.730100
## 42  4.867534 5.501258
## 43  4.644391 5.337538
## 44  4.867534 5.575949
## 45  4.941642 5.771441
## 46  4.787492 5.783825
## 47  4.941642 5.459586
## 48  4.927254 5.549076
## 49  4.852030 5.375278
## 50  4.927254 5.455321
## 51  4.867534 5.545177
## 52  4.787492 5.710427
## 53  4.867534 5.442418
## 55  4.905275 5.529429
## 56  4.897840 5.303305
## 57  4.804021 5.402677
## 58  4.744932 5.560682
## 59  4.770685 5.204007
## 60  4.852030 5.713733
## 61  4.700480 5.579730
## 62  4.682131 5.733341
## 63  4.770685 5.225747
## 64  4.905275 5.313206
## 65  4.941642 5.351858
## 66  4.927254 5.209486
## 67  4.605170 5.402677
## 68  4.867534 5.455321
## 69  4.787492 5.393628
## 70  4.820282 5.342334
## 71  4.787492 5.552960
## 73  4.867534 5.318120
## 74  4.941642 5.564520
## 75  4.804021 5.361292
## 76  4.905275 5.521461
## 77  4.828314 5.501258
## 78  4.941642 5.398163
## 79  4.852030 5.323010
## 80  4.653960 5.480639
## 81  4.718499 5.521461
## 82  4.852030 5.730100
## 83  4.624973 5.762051
## 84  5.023881 5.697093
## 85  4.624973 5.579730
## 87  4.770685 5.624018
## 88  4.615121 5.283204
## 89  4.700480 5.365976
## 90  4.605170 5.513429
## 91  4.820282 5.541264
## 92  4.882802 5.332719
## 93  4.927254 5.407172
## 94  4.882802 5.662960
## 95  4.718499 5.075174
## 96  4.955827 5.420535
## 97  4.941642 5.976351
## 98  4.682131 5.451038
## 99  4.867534 5.752573
## 100 4.867534 5.505332
## 101 4.997212 5.497168
## 103 4.941642 5.273000
## 104 4.787492 5.480639
## 105 4.859812 5.278115
## 106 4.787492 5.351858
## 107 5.075174 5.455321
## 108 4.927254 5.463832
## 109 4.787492 5.497168
## 110 4.700480 5.537334
## 113 4.941642 5.746203
## 114 4.700480 5.351858
## 115 4.867534 5.568345
## 116 4.787492 5.370638
## 117 4.867534 5.365976
## 118 4.787492 5.262690
## 119 4.653960 5.318120
## 120 4.927254 5.493061
## 121 4.867534 5.713733
## 122 4.927254 5.602119
## 123 4.718499 5.590987
## 124 4.682131 5.587249
## 126 4.770685 5.347108
## 127 4.718499 5.318120
## 128 5.023881 5.624018
## 129 4.912655 5.278115
## 130 4.787492 5.594711
## 131 5.075174 5.303305
## 132 4.897840 5.602119
## 133 4.787492 5.686975
## 134 4.700480 5.459586
## 135 4.836282 5.723585
## 136 4.867534 5.594711
## 137 4.787492 5.181784
## 138 4.852030 5.337538
## 139 4.700480 5.303305
## 140 4.852030 5.572154
## 141 4.787492 5.686975
## 142 4.744932 5.713733
## 143 4.787492 5.342334
## 144 4.663439 5.407172
## 145 4.941642 5.283204
## 146 5.049856 5.501258
## 147 4.770685 5.488938
## 148 5.010635 5.480639
## 149 4.787492 5.420535
## 150 4.867534 5.192957
## 151 5.075174 5.429346
## 152 4.718499 5.003946
## 153 5.135798 5.424950
## 154 4.983607 5.627621
## 155 4.927254 5.393628
## 156 4.867534 5.283204
## 157 4.867534 5.533389
## 158 4.804021 5.257495
## 159 4.828314 5.393628
## 160 4.867534 5.398163
## 161 4.787492 5.480639
## 162 4.882802 5.834811
## 163 4.787492 5.056246
## 164 4.927254 5.164786
## 165 4.927254 5.164786
## 166 5.075174 5.655992
## 167 4.787492 5.433722
## 168 4.941642 5.590987
## 169 4.867534 5.537334
## 170 4.941642 5.313206
## 171 4.867534 5.545177
## 172 4.700480 5.433722
## 173 4.787492 5.648974
## 174 4.882802 5.411646
## 175 4.867534 5.327876
## 176 4.700480 5.117994
## 177 4.762174 5.438079
## 178 4.941642 5.814131
## 179 4.787492 5.176150
## 180 5.010635 5.620401
## 181 4.882802 5.866468
## 182 5.010635 5.416100
## 183 4.867534 5.799093
## 184 4.718499 5.438079
## 185 5.010635 5.493061
## 186 4.718499 5.669881
## 187 4.867534 5.533389
## 188 4.820282 5.583496
## 189 4.941642 5.451038
## 190 4.700480 5.147494
## 191 4.867534 5.720312
## 192 4.852030 5.375278
## 193 4.787492 5.236442
## 194 4.976734 5.641907
## 195 4.941642 5.220356
## 196 5.135798 5.786897
## 197 5.010635 5.442418
## 198 4.828314 5.537334
## 199 4.787492 5.587249
## 200 4.700480 5.513429
## 201 4.700480 5.283204
## 202 4.828314 5.552960
## 203 5.010635 5.598422
## 205 5.075174 5.099866
## 206 4.852030 5.541264
## 207 4.700480 5.476464
## 208 5.010635 5.552960
## 209 4.787492 5.236442
## 210 4.941642 5.176150
## 211 4.852030 5.433722
## 212 4.787492 5.560682
## 213 4.770685 5.389072
## 214 4.976734 5.726848
## 215 4.828314 5.517453
## 216 4.882802 5.831882
## 217 4.867534 5.572154
## 218 4.867534 5.799093
## 219 4.905275 5.537334
## 220 4.867534 5.545177
## 221 5.010635 6.008813
## 222 4.941642 5.379897
## 223 4.927254 5.641907
## 225 4.700480 5.476464
## 226 4.976734 5.159055
## 227 4.787492 5.638355
## 228 4.787492 5.288267
## 229 5.135798 5.662960
## 230 4.828314 5.733341
## 231 4.682131 5.493061
## 232 5.105945 5.666427
## 233 5.075174 5.666427
## 234 4.787492 5.505332
## 235 4.867534 5.774552
## 236 4.941642 5.700444
## 237 4.828314 5.703782
## 238 4.941642 5.680173
## 239 4.828314 5.717028
## 240 4.836282 5.641907
## 241 5.075174 5.594711
## 242 5.159055 5.517453
## 243 4.976734 5.356586
## 244 5.023881 5.613128
## 245 4.882802 5.214936
## 246 4.820282 5.613128
## 248 5.075174 5.505332
## 250 4.941642 5.537334
## 251 4.941642 5.697093
## 252 4.882802 5.509388
## 253 4.927254 5.683580
## 254 4.605170 5.700444
## 255 5.075174 5.609472
## 256 4.955827 5.733341
## 257 4.852030 5.556828
## 258 4.969813 5.298317
## 259 5.010635 5.497168
## 260 4.787492 5.442418
## 262 4.718499 5.438079
## 263 4.812184 5.641907
## 264 4.682131 5.594711
## 265 4.700480 5.327876
## 266 4.718499 5.356586
## 268 4.770685 5.003946
## 269 4.804021 5.655992
## 270 4.867534 5.645447
## 271 4.787492 5.517453
## 272 4.897840 5.455321
## 273 4.787492 5.468060
## 274 4.605170 5.455321
## 275 4.700480 5.616771
## 276 4.828314 5.356586
## 277 4.983607 5.384495
## 278 4.820282 5.564520
## 279 4.912655 5.765191
## 280 4.927254 5.111988
## 281 4.912655 5.752573
## 282 4.852030 5.318120
## 283 4.836282 5.384495
## 284 5.023881 5.407172
## 285 4.941642 5.332719
## 286 4.941642 5.739793
## 287 4.897840 5.318120
## 288 5.036953 5.446737
## 289 4.700480 5.814131
## 290 4.852030 5.323010
## 291 4.997212 5.313206
## 292 4.736198 5.762051
## 293 5.135798 5.416100
## 294 5.023881 5.356586
## 295 4.787492 5.129899
## 296 4.941642 5.231109
## 297 4.820282 5.283204
## 298 5.099866 5.170484
## 299 4.941642 5.484797
## 300 4.700480 5.575949
## 301 4.969813 5.262690
## 303 4.867534 5.463832
## 
## $subset
## NULL
## 
## $outlierMethod
## [1] "none"
## 
## attr(,"class")
## [1] "mvn"
boxM(Y, df_clean$target)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  Y
## Chi-Sq (approx.) = 0.94458, df = 3, p-value = 0.8147
boxM(Y, df_clean$sex)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  Y
## Chi-Sq (approx.) = 3.3172, df = 3, p-value = 0.3453
library(biotools)

group <- interaction(df_clean$target, df_clean$sex)

boxM(Y, group)
## 
##  Box's M-test for Homogeneity of Covariance Matrices
## 
## data:  Y
## Chi-Sq (approx.) = 8.7698, df = 9, p-value = 0.4588
library(psych)
## 
## Attaching package: 'psych'
## The following object is masked from 'package:MVN':
## 
##     mardia
Y <- df_clean[, c("bp_log", "chol_log")]

cortest.bartlett(cor(Y), n = nrow(Y))
## $chisq
## [1] 2.608669
## 
## $p.value
## [1] 0.1062809
## 
## $df
## [1] 1

Manova

manova_model <- manova(
  cbind(bp_log, chol_log) ~ target * sex,
  data = df_clean
)
summary(manova_model, test = "Pillai")
##             Df   Pillai approx F num Df den Df   Pr(>F)   
## target       1 0.019935   2.8782      2    283 0.057884 . 
## sex          1 0.034773   5.0976      2    283 0.006685 **
## target:sex   1 0.018159   2.6170      2    283 0.074790 . 
## Residuals  284                                            
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

#Mancova ## Uji homogen

model_bp <- lm(
  bp_log ~ sex * age + sex * max_heart_rate_achieved,
  data = df_clean
)

anova(model_bp)
## Analysis of Variance Table
## 
## Response: bp_log
##                              Df Sum Sq  Mean Sq F value    Pr(>F)    
## sex                           1 0.0055 0.005542  0.4219    0.5165    
## age                           1 0.2452 0.245236 18.6702 2.156e-05 ***
## max_heart_rate_achieved       1 0.0183 0.018283  1.3919    0.2391    
## sex:age                       1 0.0013 0.001321  0.1005    0.7514    
## sex:max_heart_rate_achieved   1 0.0084 0.008379  0.6379    0.4252    
## Residuals                   282 3.7041 0.013135                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model_chol <- lm(
  chol_log ~ sex * age + sex * max_heart_rate_achieved,
  data = df_clean
)

anova(model_chol)
## Analysis of Variance Table
## 
## Response: chol_log
##                              Df Sum Sq  Mean Sq F value   Pr(>F)   
## sex                           1 0.1889 0.188933  5.7576 0.017066 * 
## age                           1 0.2877 0.287691  8.7672 0.003328 **
## max_heart_rate_achieved       1 0.0414 0.041407  1.2619 0.262253   
## sex:age                       1 0.0001 0.000064  0.0020 0.964677   
## sex:max_heart_rate_achieved   1 0.0750 0.074996  2.2855 0.131710   
## Residuals                   282 9.2537 0.032814                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Model mancova

mancova_model <- manova(
  cbind(bp_log, chol_log) ~
  sex + target + age + max_heart_rate_achieved,
  data = df_clean
)
summary(mancova_model, test = "Pillai")
##                          Df   Pillai approx F num Df den Df    Pr(>F)    
## sex                       1 0.021369   3.0788      2    282  0.047564 *  
## target                    1 0.036946   5.4092      2    282  0.004952 ** 
## age                       1 0.067140  10.1480      2    282 5.548e-05 ***
## max_heart_rate_achieved   1 0.021955   3.1652      2    282  0.043711 *  
## Residuals               283                                              
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mancova_model <- manova(
  cbind(bp_log, chol_log) ~
  sex * target + age + max_heart_rate_achieved,
  data = df_clean
)
summary(mancova_model, test = "Pillai")
##                          Df   Pillai approx F num Df den Df   Pr(>F)    
## sex                       1 0.021377   3.0691      2    281 0.048025 *  
## target                    1 0.037131   5.4180      2    281 0.004912 ** 
## age                       1 0.067839  10.2250      2    281 5.17e-05 ***
## max_heart_rate_achieved   1 0.022074   3.1714      2    281 0.043449 *  
## sex:target                1 0.016954   2.4231      2    281 0.090496 .  
## Residuals               282                                             
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Ancova

ancova_bp <- aov(
  bp_log ~ sex * target + age + max_heart_rate_achieved,
  data = df_clean
)

summary(ancova_bp)
##                          Df Sum Sq Mean Sq F value   Pr(>F)    
## sex                       1  0.006 0.00554   0.431 0.511800    
## target                    1  0.058 0.05809   4.522 0.034324 *  
## age                       1  0.200 0.19965  15.544 0.000102 ***
## max_heart_rate_achieved   1  0.036 0.03587   2.792 0.095825 .  
## sex:target                1  0.062 0.06162   4.798 0.029316 *  
## Residuals               282  3.622 0.01284                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ancova_chol <- aov(
  chol_log ~ sex * target + age + max_heart_rate_achieved,
  data = df_clean
)

summary(ancova_chol)
##                          Df Sum Sq Mean Sq F value  Pr(>F)   
## sex                       1  0.189 0.18893   5.833 0.01636 * 
## target                    1  0.218 0.21795   6.729 0.00998 **
## age                       1  0.182 0.18184   5.614 0.01849 * 
## max_heart_rate_achieved   1  0.123 0.12293   3.795 0.05238 . 
## sex:target                1  0.001 0.00103   0.032 0.85826   
## Residuals               282  9.134 0.03239                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1