Karena semua pernah dari Nol, maka berani
kotorerror itu baik. Jadikan text editor sebagai kanvasmu, selamat berkarya.
Pada analisis ini data yang digunakan berasal dari United States Departement of Agriculture (USDA Food Composition Databases)
Sebelum melakukan analisis terlebih dahulu cek direktori penyimpanan projek yang akan dilakukan kedalam satu direktori penyimpanan.
Input data.csv file USDA ke dalam Rstudio.
foodcomposition <- read.csv("data_input/USDA.csv")
Lihat terlebih dahulu garis besar data yang dimiliki, untuk memudahkan dalam eksplorasi dan analisa data.
head(foodcomposition, 8)
## ID Description Calories Protein TotalFat Carbohydrate
## 1 1001 BUTTER,WITH SALT 717 0.85 81.11 0.06
## 2 1002 BUTTER,WHIPPED,WITH SALT 717 0.85 81.11 0.06
## 3 1003 BUTTER OIL,ANHYDROUS 876 0.28 99.48 0.00
## 4 1004 CHEESE,BLUE 353 21.40 28.74 2.34
## 5 1005 CHEESE,BRICK 371 23.24 29.68 2.79
## 6 1006 CHEESE,BRIE 334 20.75 27.68 0.45
## 7 1007 CHEESE,CAMEMBERT 300 19.80 24.26 0.46
## 8 1008 CHEESE,CARAWAY 376 25.18 29.20 3.06
## Sodium SaturatedFat Cholesterol Sugar Calcium Iron Potassium VitaminC
## 1 714 51.368 215 0.06 24 0.02 24 0
## 2 827 50.489 219 0.06 24 0.16 26 0
## 3 2 61.924 256 0.00 4 0.00 5 0
## 4 1395 18.669 75 0.50 528 0.31 256 0
## 5 560 18.764 94 0.51 674 0.43 136 0
## 6 629 17.410 100 0.45 184 0.50 152 0
## 7 842 15.259 72 0.46 388 0.33 187 0
## 8 690 18.584 93 NA 673 0.64 93 0
## VitaminE VitaminD
## 1 2.32 1.5
## 2 2.32 1.5
## 3 2.80 1.8
## 4 0.25 0.5
## 5 0.26 0.5
## 6 0.24 0.5
## 7 0.21 0.4
## 8 NA NA
tail(foodcomposition, 8)
## ID Description Calories
## 7051 44259 PUDDINGS,ALL FLAVORS XCPT CHOC,LO CAL,REG,DRY MIX 351
## 7052 44260 PUDDINGS,ALL FLAVORS XCPT CHOC,LO CAL,INST,DRY MIX 350
## 7053 48052 VITAL WHEAT GLUTEN 370
## 7054 80200 FROG LEGS,RAW 73
## 7055 83110 MACKEREL,SALTED 305
## 7056 90240 SCALLOP,(BAY&SEA),CKD,STMD 111
## 7057 90560 SNAIL,RAW 90
## 7058 93600 TURTLE,GREEN,RAW 89
## Protein TotalFat Carbohydrate Sodium SaturatedFat Cholesterol Sugar
## 7051 1.60 0.10 86.04 1765 0.018 0 2.9
## 7052 0.81 0.90 84.66 4250 0.099 0 0.9
## 7053 75.16 1.85 13.79 29 0.272 0 0.0
## 7054 16.40 0.30 0.00 58 0.076 50 0.0
## 7055 18.50 25.10 0.00 4450 7.148 95 0.0
## 7056 20.54 0.84 5.41 667 0.218 41 0.0
## 7057 16.10 1.40 2.00 70 0.361 50 0.0
## 7058 19.80 0.50 0.00 68 0.127 50 0.0
## Calcium Iron Potassium VitaminC VitaminE VitaminD
## 7051 49 0.05 18 0 0.05 0.0
## 7052 143 0.38 30 0 0.08 0.0
## 7053 142 5.20 100 0 0.00 0.0
## 7054 18 1.50 285 0 1.00 0.2
## 7055 66 1.40 520 0 2.38 25.2
## 7056 10 0.58 314 0 0.00 0.0
## 7057 10 3.50 382 0 5.00 0.0
## 7058 118 1.40 230 0 0.50 0.0
Command head () & tail () digunakan untuk melihat baris awal dan akhir dari file data csv. Pada tabel diatas terlihat delapan baris awal dari data file USDA.
Dalam memulai sebuah analisis, perlu dipahami stuktur data yang dimiliki. Mulai dari dataframe, banyaknya observasi data, variabel dan tipe data.
str (foodcomposition)
## 'data.frame': 7058 obs. of 16 variables:
## $ ID : int 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 ...
## $ Description : Factor w/ 7054 levels "ABALONE,MIXED SPECIES,RAW",..: 1303 1302 1298 2303 2304 2305 2306 2307 2308 2309 ...
## $ Calories : int 717 717 876 353 371 334 300 376 403 387 ...
## $ Protein : num 0.85 0.85 0.28 21.4 23.24 ...
## $ TotalFat : num 81.1 81.1 99.5 28.7 29.7 ...
## $ Carbohydrate: num 0.06 0.06 0 2.34 2.79 0.45 0.46 3.06 1.28 4.78 ...
## $ Sodium : int 714 827 2 1395 560 629 842 690 621 700 ...
## $ SaturatedFat: num 51.4 50.5 61.9 18.7 18.8 ...
## $ Cholesterol : int 215 219 256 75 94 100 72 93 105 103 ...
## $ Sugar : num 0.06 0.06 0 0.5 0.51 0.45 0.46 NA 0.52 NA ...
## $ Calcium : int 24 24 4 528 674 184 388 673 721 643 ...
## $ Iron : num 0.02 0.16 0 0.31 0.43 0.5 0.33 0.64 0.68 0.21 ...
## $ Potassium : int 24 26 5 256 136 152 187 93 98 95 ...
## $ VitaminC : num 0 0 0 0 0 0 0 0 0 0 ...
## $ VitaminE : num 2.32 2.32 2.8 0.25 0.26 0.24 0.21 NA 0.29 NA ...
## $ VitaminD : num 1.5 1.5 1.8 0.5 0.5 0.5 0.4 NA 0.6 NA ...
Selain melihat dan memahami stuktur data, eksplorasi data dapat juga dilakukan dengan melihat summary (ringkasan) dari file data yang ada.
summary(foodcomposition)
## ID
## Min. : 1001
## 1st Qu.: 8387
## Median :13294
## Mean :14260
## 3rd Qu.:18337
## Max. :93600
##
## Description
## BEEF,CHUCK,UNDER BLADE CNTR STEAK,BNLESS,DENVER CUT,LN,0" FA: 2
## CAMPBELL,CAMPBELL'S SEL MICROWAVEABLE BOWLS,HEA : 2
## OIL,INDUSTRIAL,PALM KERNEL (HYDROGENATED),CONFECTION FAT : 2
## POPCORN,OIL-POPPED,LOFAT : 2
## ABALONE,MIXED SPECIES,RAW : 1
## ABALONE,MXD SP,CKD,FRIED : 1
## (Other) :7048
## Calories Protein TotalFat Carbohydrate
## Min. : 0.0 Min. : 0.00 Min. : 0.00 Min. : 0.00
## 1st Qu.: 85.0 1st Qu.: 2.29 1st Qu.: 0.72 1st Qu.: 0.00
## Median :181.0 Median : 8.20 Median : 4.37 Median : 7.13
## Mean :219.7 Mean :11.71 Mean : 10.32 Mean : 20.70
## 3rd Qu.:331.0 3rd Qu.:20.43 3rd Qu.: 12.70 3rd Qu.: 28.17
## Max. :902.0 Max. :88.32 Max. :100.00 Max. :100.00
## NA's :1 NA's :1 NA's :1 NA's :1
## Sodium SaturatedFat Cholesterol Sugar
## Min. : 0.0 Min. : 0.000 Min. : 0.00 Min. : 0.000
## 1st Qu.: 37.0 1st Qu.: 0.172 1st Qu.: 0.00 1st Qu.: 0.000
## Median : 79.0 Median : 1.256 Median : 3.00 Median : 1.395
## Mean : 322.1 Mean : 3.452 Mean : 41.55 Mean : 8.257
## 3rd Qu.: 386.0 3rd Qu.: 4.028 3rd Qu.: 69.00 3rd Qu.: 7.875
## Max. :38758.0 Max. :95.600 Max. :3100.00 Max. :99.800
## NA's :84 NA's :301 NA's :288 NA's :1910
## Calcium Iron Potassium VitaminC
## Min. : 0.00 Min. : 0.000 Min. : 0.0 Min. : 0.000
## 1st Qu.: 9.00 1st Qu.: 0.520 1st Qu.: 135.0 1st Qu.: 0.000
## Median : 19.00 Median : 1.330 Median : 250.0 Median : 0.000
## Mean : 73.53 Mean : 2.828 Mean : 301.4 Mean : 9.436
## 3rd Qu.: 56.00 3rd Qu.: 2.620 3rd Qu.: 348.0 3rd Qu.: 3.100
## Max. :7364.00 Max. :123.600 Max. :16500.0 Max. :2400.000
## NA's :136 NA's :123 NA's :409 NA's :332
## VitaminE VitaminD
## Min. : 0.000 Min. : 0.0000
## 1st Qu.: 0.120 1st Qu.: 0.0000
## Median : 0.270 Median : 0.0000
## Mean : 1.488 Mean : 0.5769
## 3rd Qu.: 0.710 3rd Qu.: 0.1000
## Max. :149.400 Max. :250.0000
## NA's :2720 NA's :2834
Dari summary diatas, kita bisa mengetahui banyak informasi, misalnya pada Variable ID. Terdapat informasi bahwa id minimum pada data foodcompostion adalah 1001 dan id tertinggi nya adalah 93600 dengan mean dan median masing - masing yaitu 13294 dan 18337.
Sekarang lihat pada variabel lainnya, kita ambil contoh pada variabel Calories. Dari summary tersebut kita dapatkan informasi bahwa nilai minimum calories pada bernilai 0.0 dengan Kuartil pertama (Kuartil Atas) dari keseluruhan data Calories yaitu 85.0 dan Kuartil Bawah 331.0.
Dalam pembacaan informasi data yang kita punya saat ini, kita juga bisa mengetahui secara lebih rinci dari masing-masing variabel data. Contohnya bila kita ingin mengetahui rincian dari variabel data Sodium, maka kita jalankan perintah seperti dibawah ini ;
unique(foodcomposition$Sodium)
## [1] 714 827 2 1395 560 629 842 690 621 700 604
## [12] 364 344 330 406 321 965 1116 800 600 819 336
## [23] 536 627 415 619 652 628 334 1529 1602 534 876
## [34] 84 125 1200 1809 192 753 1671 1428 1370 966 1284
## [45] 1552 1625 41 40 34 38 8 89 80 54 48
## [56] 57 79 181 122 66 62 25 102 78 43 49
## [67] 47 52 59 44 58 42 53 105 3 371 535
## [78] 549 2280 517 127 106 115 60 61 50 17 111
## [89] 95 968 1079 46 70 77 65 142 166 67 207
## [100] 124 155 297 145 523 548 1156 1238 135 146 138
## [111] 141 151 11 1696 346 515 368 3780 685 132 493
## [122] 1131 655 617 612 21 133 158 1280 71 725 1150
## [133] 702 1638 1705 1298 1499 1586 72 45 55 100 196
## [144] 776 576 1587 329 250 129 199 1808 751 704 81
## [155] 68 162 94 164 110 92 696 1272 3663 16 76
## [166] 23 18 160 83 1640 10 277 211 35 168 20
## [177] 208 88 27 13 73 452 30 5 26 148 24
## [188] 4 1135 38758 9 2964 314 31 8068 14 227 260
## [199] 173 36 0 633 750 788 1133 1000 863 711 838
## [210] 1074 868 955 568 497 504 353 943 1018 836 589
## [221] 658 734 1 853 1041 786 450 545 150 657 785
## [232] 615 28 833 590 630 654 646 580 733 1129 897
## [243] 1094 1120 673 864 6 7 879 886 755 829 729
## [254] 900 670 1102 848 650 1265 1004 284 86 292 82
## [265] 91 63 581 56 113 69 74 287 75 295 87
## [276] 85 97 93 32 64 317 90 99 96 275 116
## [287] 104 269 114 112 118 279 98 276 288 320 51
## [298] 101 140 37 33 503 697 467 850 554 567 397
## [309] 437 678 680 482 837 323 108 559 557 424 518
## [320] 532 457 446 451 271 251 256 661 341 417 381
## [331] 337 584 347 411 345 610 799 632 909 120 117
## [342] 970 706 709 831 400 372 653 516 693 618 354
## [353] 306 370 484 325 506 1558 303 524 603 573 773
## [364] 732 637 740 301 778 716 816 731 635 391 739
## [375] 359 672 338 26000 24000 8408 23875 694 8031 6722 4957
## [386] 3712 460 3833 11588 4843 4152 570 6580 4186 5356 577
## [397] 4392 5730 3643 1164 1145 651 847 538 185 377 328
## [408] 373 2643 198 143 156 1615 2733 215 430 7851 501
## [419] 383 231 1778 187 366 331 420 416 565 272 387
## [430] 362 385 369 408 384 273 376 367 363 335 322
## [441] 318 405 425 352 355 327 230 184 669 195 508
## [452] 458 525 475 483 433 407 542 605 645 444 611
## [463] 442 210 698 722 710 664 659 343 351 402 487
## [474] 349 167 254 388 305 290 380 238 392 226 339
## [485] 264 365 423 398 319 253 350 382 401 326 454
## [496] 1325 403 356 312 229 194 386 190 2036 308 282
## [507] 285 719 844 867 625 656 688 781 813 234 3202
## [518] 299 361 736 707 555 828 419 357 22 5053 5203
## [529] 4090 2590 980 1338 17152 435 1067 2002 2071 409 587
## [540] 390 441 1334 1240 1297 1080 960 1184 1071 846 1160
## [551] 1112 1082 1059 1235 953 1055 1037 1078 1365 1203 1304
## [562] 1245 830 1320 904 930 1374 1225 860 1329 1117 820
## [573] 1289 772 1293 1246 1484 981 1523 1653 1127 636 749
## [584] 805 1140 1449 2260 2010 1013 911 1173 1300 1015 1114
## [595] 928 586 969 1322 1207 1182 1220 1033 1179 1151 977
## [606] 1159 1118 1438 1242 1167 1249 1348 1248 1214 1084 1073
## [617] 1105 1226 1318 1275 1309 1095 1231 1826 1976 821 1007
## [628] 967 1046 1022 1036 1424 1430 988 1025 927 1143 974
## [639] 1039 1142 1188 1196 1070 1136 1213 1077 919 1180 1192
## [650] 1177 1201 1288 679 946 1162 1342 954 1431 1096 1056
## [661] 1381 1369 1032 1858 994 796 540 880 507 1330 724
## [672] 623 1540 1483 585 1420 982 1010 1890 1034 936 1040
## [683] 1087 883 807 852 1090 922 752 910 593 665 258
## [694] 634 459 676 754 742 571 774 723 309 763 715
## [705] 431 541 825 513 889 561 462 186 563 638 871
## [716] 552 1050 188 1679 1219 15 170 161 19 278 453
## [727] 599 485 667 223 126 233 225 219 491 374 479
## [738] 648 465 1310 533 499 614 509 434 699 469 527
## [749] 607 556 701 240 449 640 236 432 550 574 766
## [760] 464 823 473 394 613 204 165 418 206 1764 1557
## [771] 1518 1930 472 759 241 466 455 461 795 726 456
## [782] 246 476 500 488 261 249 247 252 268 448 490
## [793] 579 235 244 242 12 738 438 649 471 375 298
## [804] 494 520 443 477 304 521 572 478 492 760 597
## [815] 29 NA 735 1556 191 121 153 107 109 2310 987
## [826] 2099 1409 1546 1500 1255 941 2695 1386 1088 1063 1269
## [837] 1187 1516 1327 213 505 624 1072 1250 973 1278 1385
## [848] 1276 1068 1155 1210 1038 413 594 378 358 1016 209
## [859] 205 2193 2073 2428 1170 1060 1237 1390 1335 861 835
## [870] 986 1267 1223 1193 1141 1045 1163 1098 893 809 895
## [881] 677 616 870 881 839 779 1308 1099 990 1126 1011
## [892] 964 1069 1101 1212 1181 945 1389 841 801 826 737
## [903] 810 744 243 154 237 232 239 176 179 163 130
## [914] 342 333 217 257 172 2095 439 1578 480 332 529
## [925] 39 245 221 134 551 543 546 224 149 193 302
## [936] 566 1048 872 764 296 289 265 259 324 262 255
## [947] 270 412 286 280 281 248 263 790 399 875 1208
## [958] 1091 811 266 426 2853 307 588 410 393 428 2541
## [969] 182 2253 1217 1134 1006 2790 885 1258 1439 274 131
## [980] 103 180 136 3668 481 218 7027 348 421 918 379
## [991] 784 414 396 1019 293 395 539 486 947 777 705
## [1002] 177 591 601 1202 2000 203 691 212 119 178 422
## [1013] 522 1465 888 3728 1005 5637 5586 5689 2873 294 569
## [1024] 447 575 3333 222 313 708 530 642 758 671 859
## [1035] 1463 717 389 682 666 695 564 519 609 429 157
## [1046] 942 999 631 817 720 470 660 553 592 583 1405
## [1057] 1283 596 687 558 147 436 468 913 598 899 1044
## [1068] 887 865 901 1089 427 316 495 767 1419 906 544
## [1079] 765 832 686 511 10600 7893 27360 1759 730 1111 315
## [1090] 216 440 311 200 404 1532 1680 1295 898 528 882
## [1101] 891 2182 300 174 878 1410 1360 663 745 866 510
## [1112] 228 445 1148 283 2081 952 950 741 1058 1818 1357
## [1123] 1553 787 862 152 1429 123 1441 159 26050 183 1332
## [1134] 267 189 1531 2667 1488 1003 643 291 602 2751 849
## [1145] 896 884 1715 1247 1319 1866 1270 792 1840 531 771
## [1156] 202 854 175 1647 983 824 220 2850 310 1108 2285
## [1167] 1103 939 932 1257 689 814 1745 1528 1600 957 1020
## [1178] 743 1209 780 789 1674 626 1770 1345 905 996 1030
## [1189] 2962 9690 856 1435 2838 3326 1765 4250 4450
Dari tampilan data diatas kita bisa mengetahui dari 1 sampai 7058 observasi berapa nilai dari masing-masing data Sodium, misalnya 5 observasi pertama pada data diatas, didapatkan nilai dari sodium yaitu 704, 827, 2, 1395 dan 560. Dari data sodium diatas memang tidak bisa ditampilkan semua karena ada batas maximum dari program R untuk melakukan print data.
Setelah membaca dan memahami data yang ada, saatnya kita lakukan analisa.
Berdasarkan ringkasan/summary data. Urutan/observasi ke berapa nilai tertinggi dari Sodium berdasarkan data USDA?
which.max(foodcomposition$Sodium)
## [1] 265
foodcomposition$Sodium[265]
## [1] 38758
Dan didapatkan bahwa, nilai tertinggi dari Sodium terletak di observasi ke 265. Dengan nilai kandungan Sodium sebesar 38758.
Bahan makanan apa yang memiliki kandungan sodium tertinggi tersebut??
foodcomposition$Description[265]
## [1] SALT,TABLE
## 7054 Levels: ABALONE,MIXED SPECIES,RAW ... ZWIEBACK
Dari command diatas, kita bisa mengetahui bahwa SALT adalah bahan makanan dengan kandungan sodium sebesar 38758.
Kemudian, kita ingin melihat bahan makanan apa saja yang memiliki komposisi lebih dari nilai rata-rata yang kita tentukan. Misalnya lebih dari 10000. Maka kita akan ambil subset dari ‘foodcomposition’ dengan nama variabel baru HighSodium.
HighSodium = subset(foodcomposition, Sodium >= 10000)
Berapa banyak observasi/variable bahan makanan yang memiliki tingkat sodium diatas 10000??
nrow(HighSodium)
## [1] 10
HighSodium$Description
## [1] SALT,TABLE
## [2] SOUP,BF BROTH OR BOUILLON,PDR,DRY
## [3] SOUP,BEEF BROTH,CUBED,DRY
## [4] SOUP,CHICK BROTH OR BOUILLON,DRY
## [5] SOUP,CHICK BROTH CUBES,DRY
## [6] GRAVY,AU JUS,DRY
## [7] ADOBO FRESCO
## [8] LEAVENING AGENTS,BAKING PDR,DOUBLE-ACTING,NA AL SULFATE
## [9] LEAVENING AGENTS,BAKING SODA
## [10] DESSERTS,RENNIN,TABLETS,UNSWTND
## 7054 Levels: ABALONE,MIXED SPECIES,RAW ... ZWIEBACK
Dari perintah (command) diatas, akan muncul data sebanyak 10 variabel bahan makanan yang memiliki tingkat sodium diatas 10000.
Tentukan jenis bahan makanan yang memiliki kandungan sodium dari data yang ada dan berapa banyak kandungan sodium pada bahan makanan tersebut??
match("CAVIAR", foodcomposition$Description)
## [1] 4154
foodcomposition$Sodium [4154]
## [1] 1500
Salah satu jenis bahan makanan yang memiliki sodium adalah CAVIAR. Didapatkan informasi data bahwa, CAVIAR berada pada urutan ke 4154 dengan tingkat Sodium sebesar 1500.
Kita juga bisa menggunakan langkah/perintah lain dengan cara :
foodcomposition$Sodium[match("CAVIAR", foodcomposition$Description)]
## [1] 1500
Lalu bila ingin mengetahui summary/ringkasan dari variabel Sodium. Maka dapat menggunakan perintah/command ;“summary(foodcomposition$Sodium)”
summary(foodcomposition$Sodium)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.0 37.0 79.0 322.1 386.0 38758.0 84
Dari data diatas kita bisa mengetahui nilai sebaran Mean, Median dari Sodium. Selanjutnya, bisa dilakukan penghitungan standar deviasi, namun pada data summary sodium tersebut masih terdapat data dengan keterangan NA’s yang artinya data tidak diketahui maka selanjutnya untuk mengetahui standar deviasi dari sodium kita akan menghilangkan data NA untuk dilakukan penghitungan ulang.
sd(foodcomposition$Sodium, na.rm = TRUE)
## [1] 1045.417
Dari penghitungan standar deviasi setelah menghilangkan data yang tidak diketahui maka didapatkan bahwa Standar Deviasi dari Sodium adalah 1045.417.
HighSodium=as.numeric(foodcomposition$Sodium >
mean(foodcomposition$Sodium, na.rm = TRUE))
str(HighSodium)
## num [1:7058] 1 1 0 1 1 1 1 1 1 1 ...
Masukkan Variabel HighSodium dan Variabel lainnya seperti HighCarbs, High Protein, dan High Fat ke dalam struktur data foodcomposition :
foodcomposition$HighSodium=as.numeric(foodcomposition$Sodium >
mean(foodcomposition$Sodium, na.rm = TRUE))
foodcomposition$HighCarbs=as.numeric(foodcomposition$Carbohydrate >
mean(foodcomposition$Carbohydrate, na.rm = TRUE))
foodcomposition$HighProtein=as.numeric(foodcomposition$Protein >
mean(foodcomposition$Protein, na.rm = TRUE))
foodcomposition$HighFat=as.numeric(foodcomposition$TotalFat>
mean(foodcomposition$TotalFat, na.rm = TRUE))
str(foodcomposition)
## 'data.frame': 7058 obs. of 20 variables:
## $ ID : int 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 ...
## $ Description : Factor w/ 7054 levels "ABALONE,MIXED SPECIES,RAW",..: 1303 1302 1298 2303 2304 2305 2306 2307 2308 2309 ...
## $ Calories : int 717 717 876 353 371 334 300 376 403 387 ...
## $ Protein : num 0.85 0.85 0.28 21.4 23.24 ...
## $ TotalFat : num 81.1 81.1 99.5 28.7 29.7 ...
## $ Carbohydrate: num 0.06 0.06 0 2.34 2.79 0.45 0.46 3.06 1.28 4.78 ...
## $ Sodium : int 714 827 2 1395 560 629 842 690 621 700 ...
## $ SaturatedFat: num 51.4 50.5 61.9 18.7 18.8 ...
## $ Cholesterol : int 215 219 256 75 94 100 72 93 105 103 ...
## $ Sugar : num 0.06 0.06 0 0.5 0.51 0.45 0.46 NA 0.52 NA ...
## $ Calcium : int 24 24 4 528 674 184 388 673 721 643 ...
## $ Iron : num 0.02 0.16 0 0.31 0.43 0.5 0.33 0.64 0.68 0.21 ...
## $ Potassium : int 24 26 5 256 136 152 187 93 98 95 ...
## $ VitaminC : num 0 0 0 0 0 0 0 0 0 0 ...
## $ VitaminE : num 2.32 2.32 2.8 0.25 0.26 0.24 0.21 NA 0.29 NA ...
## $ VitaminD : num 1.5 1.5 1.8 0.5 0.5 0.5 0.4 NA 0.6 NA ...
## $ HighSodium : num 1 1 0 1 1 1 1 1 1 1 ...
## $ HighCarbs : num 0 0 0 0 0 0 0 0 0 0 ...
## $ HighProtein : num 0 0 0 1 1 1 1 1 1 1 ...
## $ HighFat : num 1 1 1 1 1 1 1 1 1 1 ...
Untuk mengetahui berapa jumlah variabel baru, contohnya berapa jumlah bahan makanan yang memiliki nilai diatas rata-rata (1) dan berapa jumlah yang memiliki nilai dibawah rata-rata (0) maka dari itu kita buat summary tabel dari variable data set baru yang telah dibuat.
table(foodcomposition$HighSodium)
##
## 0 1
## 4884 2090
Maka diketahui ada 4884 yang bernilai (0 - atau dibawah rata-rata) dan 2090 bahan makanan yang bernilai 1 (diatas rata-rata).
Sekarang kita akan lakukan perbandingan berapa jumlah bahan makanan antara HighSodium dan HighFat. Dengan Command :
table(foodcomposition$HighSodium, foodcomposition$HighFat)
##
## 0 1
## 0 3529 1355
## 1 1378 712
Keterangan :Kolom menandakan High Fat Baris menandakan HighSodium
Dari data diatas bisa didapatkan kesimpulan bahwa bahan makanan dengan HighSodium (diatas rata-rata) dan HighFat berjumlah 712 bahan makanan.
Untuk mendapatkan insight dari sebuah analisis data maka dilakukan penyajian data secara visual melalui diagram plot, grafik, chart dan lain sebagainya.
Perbandingan dua variabel Protein dengan Total Fat.
plot(x = foodcomposition$Protein, y = foodcomposition$TotalFat,
main = "Protein Vs Total Fat",
xlab = "Protein", ylab = "Total Fat", col="navy")
Dari visualisasi diagram plot antara kandungan protein vs total fat suatu jenis bahan makanan berdasarkan data USDA, dapat diketahui bahwa secara umum jenis makanan yang mengandung total fat antara 0-40 memiliki kandungan protein yang hampir sama yaitu 0-38. Namun ada beberapa jenis bahan makanan yang memiliki kandungan protein tinggi dengan total fat rendah.
Dalam visualisasi data, bisa menggunakan histogram untuk mengetahui distribusi/penyebaran data sehingga dengan demikian didapatkan informasi yang lebih banyak dari data tersebut dan akan memudahkan untuk mendapatkan kesimpulan dari data tersebut.
hist(foodcomposition$VitaminC, xlab = "Vitamin C (mg)",
main = "Histogram of Vitamin C", xlim = c(0,100), breaks = 100,
col ="yellow")
Dari viasualisasi histogram vitamin C diatas, didapatkan kesimpulan bahwa pada data foodcomposition kadar Vitamin C 0-20mg memiliki frekwensi data hampir 5000, sedangkan kandungan Vitamin C >20-40 mg memiliki frekwensi data dibawah 500.
hist(foodcomposition$VitaminC, xlab = "Vitamin C (mg)",
main = "Histogram of Vitamin C", xlim = c(0,100), breaks =2000,
col ="yellow")
## Boxplot
Boxplot adalah salah satu cara dalam statistik deskriptif untuk menggambarkan secara grafik dari data numeris melalui lima ukuran sebagai berikut: 1. Nilai observasi terkecil 2. Kuartil terendah atau kuartil pertama (Q1), yang memotong 25 % dari data terendah. 3. Median (Q2) atau nilai tengah 4. Kuartil tertinggi atau kuartil ketiga (Q3), yang memotong 25 % dari data tertinggi. 5. Nilai observasi terbesar.
Dalam boxplot juga ditunjukkan, jika ada, nilai outlier dari observasi. Boxplot dapat digunakan untuk menunjukkan perbedaan antara populasi tanpa menggunakan asumsi distribusi statistik yang mendasarinya.
Pada kasus ini kita gambarkan boxplot dari kandungan Karbohidrat dari data foodcompostion.
boxplot(foodcomposition$Carbohydrate, ylab = "Carbohydrate (gr)",
main = "Boxplot of Carbohydrate", col = "blue")
Dari visualisasi diatas didapatkan bahwa bagian utama boxplot adalah kotak berbentuk persegi (Box) yang merupakan bidang yang menyajikan interquartile range (IQR), dimana 50 % dari nilai data pengamatan terletak di sana. Dimana garis yang terdapat pada kotak adalah Q2 (median), dimana 50% data pengamatan lebih kecil atau sama dengan nilai kurang lebih 15gr. Nilai yang berada di atas whisker dinamakan nilai outlier, yang bisa diartikan pada keseluruhan data terdapat kandungan karbohidrat tinggi melebihi 60gr - 100gr.