how many ZERO in each dietary group

library(dplyr)
zero<-lapply(food2, function(x){x==0}) |> sapply(sum) |> as.data.frame()
zero<-zero |> mutate(pct=zero[,1]/10041*100)|> as.data.frame()
names(zero)<- c("count","percent")
zero
                count   percent
rice              419  4.172891
corn             8749 87.132756
othercereal      2836 28.244199
roots            7868 78.358729
Sugar            3795 37.795040
beans            6294 62.683000
leafy            3071 30.584603
othervegetables  2872 28.602729
vitCfruit        9276 92.381237
otherfruit       7425 73.946818
fish             1314 13.086346
meat             4468 44.497560
poultry          6573 65.461607
Eggs             6449 64.226671
wholemilk        8870 88.337815
milkproducts     9467 94.283438
fats             2075 20.665272
beverages        1976 19.679315
condiments       6861 68.329848
miscellaneous    8537 85.021412

boxplot

boxplot(food2[,1:5],las=2)

boxplot(food2[,6:10],las=2)

boxplot(food2[,11:15],las=2)

boxplot(food2[,16:20],las=2)

1.5 IQR

library(reshape2)
foodL <- melt(food, id= 'ID')
dtafood <-split(foodL, foodL$variable)
lapply(dtafood, function(x){
Q1 <- quantile(x$value, probs=c(.25), na.rm = FALSE)
Q3 <- quantile(x$value, probs=c(.75), na.rm = FALSE)
Q <- quantile(x$value, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(x$value)
up <-  Q[2]+1.5*iqr # Upper Range  
low<- Q[1]-1.5*iqr # Lower Range
cbind(Q1, Q3, iqr, low, up)
})
$rice
          Q1       Q3      iqr       low       up
25% 163.1304 357.6609 194.5305 -128.6653 649.4566

$corn
    Q1 Q3 iqr low up
25%  0  0   0   0  0

$othercereal
    Q1       Q3      iqr       low       up
25%  0 37.52625 37.52625 -56.28937 93.81562

$roots
    Q1 Q3 iqr low up
25%  0  0   0   0  0

$Sugar
    Q1     Q3    iqr     low     up
25%  0 15.486 15.486 -23.229 38.715

$beans
    Q1   Q3  iqr    low    up
25%  0 3.35 3.35 -5.025 8.375

$leafy
    Q1       Q3      iqr       low       up
25%  0 43.12381 43.12381 -64.68572 107.8095

$othervegetables
    Q1       Q3      iqr       low       up
25%  0 69.20808 69.20808 -103.8121 173.0202

$vitCfruit
    Q1 Q3 iqr low up
25%  0  0   0   0  0

$otherfruit
    Q1   Q3  iqr    low    up
25%  0 14.7 14.7 -22.05 36.75

$fish
       Q1       Q3      iqr       low       up
25% 28.75 152.7396 123.9896 -157.2343 338.7239

$meat
    Q1       Q3      iqr       low       up
25%  0 77.81087 77.81087 -116.7163 194.5272

$poultry
    Q1       Q3      iqr       low       up
25%  0 35.28828 35.28828 -52.93243 88.22071

$Eggs
    Q1       Q3      iqr       low       up
25%  0 19.07069 19.07069 -28.60603 47.67672

$wholemilk
    Q1 Q3 iqr low up
25%  0  0   0   0  0

$milkproducts
    Q1 Q3 iqr low up
25%  0  0   0   0  0

$fats
        Q1    Q3    iqr     low      up
25% 0.7308 6.525 5.7942 -7.9605 15.2163

$beverages
     Q1 Q3  iqr    low    up
25% 0.5 25 24.5 -36.25 61.75

$condiments
    Q1   Q3  iqr    low    up
25%  0 1.85 1.85 -2.775 4.625

$miscellaneous
    Q1 Q3 iqr low up
25%  0  0   0   0  0

2 IQR

lapply(dtafood, function(x){
Q1 <- quantile(x$value, probs=c(.25), na.rm = FALSE)
Q3 <- quantile(x$value, probs=c(.75), na.rm = FALSE)
Q <- quantile(x$value, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(x$value)
up2 <-  Q[2]+2*iqr  
low2<- Q[1]-2*iqr 

cbind(Q1, Q3, iqr, low2, up2)

})
$rice
          Q1       Q3      iqr      low2      up2
25% 163.1304 357.6609 194.5305 -225.9306 746.7219

$corn
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

$othercereal
    Q1       Q3      iqr     low2      up2
25%  0 37.52625 37.52625 -75.0525 112.5787

$roots
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

$Sugar
    Q1     Q3    iqr    low2    up2
25%  0 15.486 15.486 -30.972 46.458

$beans
    Q1   Q3  iqr low2   up2
25%  0 3.35 3.35 -6.7 10.05

$leafy
    Q1       Q3      iqr      low2      up2
25%  0 43.12381 43.12381 -86.24762 129.3714

$othervegetables
    Q1       Q3      iqr      low2      up2
25%  0 69.20808 69.20808 -138.4162 207.6242

$vitCfruit
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

$otherfruit
    Q1   Q3  iqr  low2  up2
25%  0 14.7 14.7 -29.4 44.1

$fish
       Q1       Q3      iqr      low2      up2
25% 28.75 152.7396 123.9896 -219.2291 400.7187

$meat
    Q1       Q3      iqr      low2      up2
25%  0 77.81087 77.81087 -155.6217 233.4326

$poultry
    Q1       Q3      iqr      low2      up2
25%  0 35.28828 35.28828 -70.57657 105.8649

$Eggs
    Q1       Q3      iqr      low2      up2
25%  0 19.07069 19.07069 -38.14138 57.21207

$wholemilk
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

$milkproducts
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

$fats
        Q1    Q3    iqr     low2     up2
25% 0.7308 6.525 5.7942 -10.8576 18.1134

$beverages
     Q1 Q3  iqr  low2 up2
25% 0.5 25 24.5 -48.5  74

$condiments
    Q1   Q3  iqr low2  up2
25%  0 1.85 1.85 -3.7 5.55

$miscellaneous
    Q1 Q3 iqr low2 up2
25%  0  0   0    0   0

3 IQR

lapply(dtafood, function(x){
Q1 <- quantile(x$value, probs=c(.25), na.rm = FALSE)
Q3 <- quantile(x$value, probs=c(.75), na.rm = FALSE)
Q <- quantile(x$value, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(x$value)
up3 <-  Q[2]+3*iqr  
low3<- Q[1]-3*iqr 

cbind(Q1, Q3, iqr, low3, up3)

})
$rice
          Q1       Q3      iqr      low3      up3
25% 163.1304 357.6609 194.5305 -420.4611 941.2524

$corn
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0

$othercereal
    Q1       Q3      iqr      low3     up3
25%  0 37.52625 37.52625 -112.5787 150.105

$roots
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0

$Sugar
    Q1     Q3    iqr    low3    up3
25%  0 15.486 15.486 -46.458 61.944

$beans
    Q1   Q3  iqr   low3  up3
25%  0 3.35 3.35 -10.05 13.4

$leafy
    Q1       Q3      iqr      low3      up3
25%  0 43.12381 43.12381 -129.3714 172.4952

$othervegetables
    Q1       Q3      iqr      low3      up3
25%  0 69.20808 69.20808 -207.6242 276.8323

$vitCfruit
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0

$otherfruit
    Q1   Q3  iqr  low3  up3
25%  0 14.7 14.7 -44.1 58.8

$fish
       Q1       Q3      iqr      low3      up3
25% 28.75 152.7396 123.9896 -343.2187 524.7082

$meat
    Q1       Q3      iqr      low3      up3
25%  0 77.81087 77.81087 -233.4326 311.2435

$poultry
    Q1       Q3      iqr      low3      up3
25%  0 35.28828 35.28828 -105.8649 141.1531

$Eggs
    Q1       Q3      iqr      low3      up3
25%  0 19.07069 19.07069 -57.21207 76.28276

$wholemilk
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0

$milkproducts
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0

$fats
        Q1    Q3    iqr     low3     up3
25% 0.7308 6.525 5.7942 -16.6518 23.9076

$beverages
     Q1 Q3  iqr low3  up3
25% 0.5 25 24.5  -73 98.5

$condiments
    Q1   Q3  iqr  low3 up3
25%  0 1.85 1.85 -5.55 7.4

$miscellaneous
    Q1 Q3 iqr low3 up3
25%  0  0   0    0   0
tbl_merge(tbls = list(IQR1.5,IQR2,IQR3),
tab_spanner = c(">1.5*IQR", ">2*IQR", ">3*IQR"))
Characteristic

1.5*IQR

2*IQR

3*IQR

N = 10,0411 N = 10,0411 N = 10,0411
rice_out
normal 9,772 (97%) 9,910 (99%) 10,012 (100%)
out 269 (2.7%) 131 (1.3%) 29 (0.3%)
corn_out
normal 8,749 (87%) 8,749 (87%) 8,749 (87%)
out 1,292 (13%) 1,292 (13%) 1,292 (13%)
othercereal_out
normal 9,634 (96%) 9,797 (98%) 9,950 (99%)
out 407 (4.1%) 244 (2.4%) 91 (0.9%)
roots_out
normal 7,868 (78%) 7,868 (78%) 7,868 (78%)
out 2,173 (22%) 2,173 (22%) 2,173 (22%)
Sugar_out
normal 9,456 (94%) 9,659 (96%) 9,864 (98%)
out 585 (5.8%) 382 (3.8%) 177 (1.8%)
beans_out
normal 8,419 (84%) 8,652 (86%) 8,847 (88%)
out 1,622 (16%) 1,389 (14%) 1,194 (12%)
leafy_out
normal 9,361 (93%) 9,557 (95%) 9,752 (97%)
out 680 (6.8%) 484 (4.8%) 289 (2.9%)
othervegetables_out
normal 9,489 (95%) 9,687 (96%) 9,874 (98%)
out 552 (5.5%) 354 (3.5%) 167 (1.7%)
vitCfruit_out
normal 9,276 (92%) 9,276 (92%) 9,276 (92%)
out 765 (7.6%) 765 (7.6%) 765 (7.6%)
otherfruit_out
normal 7,924 (79%) 8,069 (80%) 8,414 (84%)
out 2,117 (21%) 1,972 (20%) 1,627 (16%)
fish_out
normal 9,605 (96%) 9,787 (97%) 9,941 (99%)
out 436 (4.3%) 254 (2.5%) 100 (1.0%)
meat_out
normal 9,407 (94%) 9,630 (96%) 9,846 (98%)
out 634 (6.3%) 411 (4.1%) 195 (1.9%)
poultry_out
normal 8,955 (89%) 9,257 (92%) 9,590 (96%)
out 1,086 (11%) 784 (7.8%) 451 (4.5%)
Eggs_out
normal 9,517 (95%) 9,695 (97%) 9,930 (99%)
out 524 (5.2%) 346 (3.4%) 111 (1.1%)
wholemilk_out
normal 8,870 (88%) 8,870 (88%) 8,870 (88%)
out 1,171 (12%) 1,171 (12%) 1,171 (12%)
milkproducts_out
normal 9,467 (94%) 9,467 (94%) 9,467 (94%)
out 574 (5.7%) 574 (5.7%) 574 (5.7%)
fats_out
normal 9,435 (94%) 9,600 (96%) 9,779 (97%)
out 606 (6.0%) 441 (4.4%) 262 (2.6%)
beverages_out
normal 8,736 (87%) 8,769 (87%) 8,861 (88%)
out 1,305 (13%) 1,272 (13%) 1,180 (12%)
condiments_out
normal 8,719 (87%) 8,894 (89%) 9,266 (92%)
out 1,322 (13%) 1,147 (11%) 775 (7.7%)
miscellaneous_out
normal 8,537 (85%) 8,537 (85%) 8,537 (85%)
out 1,504 (15%) 1,504 (15%) 1,504 (15%)

1 n (%)