Computes alpha-diversity indices (via vegan::diversity()) and/or
Hill numbers / Rényi entropy (via vegan::renyi()) for each sample in
a phyloseq object. When modality is supplied the computation is done
separately for each level of that grouping variable and the level label
is appended as an extra column. NA values in the modality column are
kept as a distinct group so that samples with missing metadata are never
silently dropped. When modality = NULL all samples are analysed
together and no grouping column is added to the result.
Usage
div_pq(
physeq,
modality = NULL,
indices = "shannon",
scales = NULL,
hill = TRUE,
aggregate = FALSE,
funs = list(mean = mean, sd = sd)
)Arguments
- physeq
(phyloseq, required) A phyloseq object.
- modality
(character or NULL, default NULL) Name of a column in
sample_data(physeq)used to split samples into groups.NAvalues are treated as a separate group. WhenNULL, indices are computed for the whole dataset without grouping.- indices
(character, default
"shannon") One or more index names accepted byvegan::diversity()(e.g."shannon","simpson","invsimpson"). Set toNULLto skip classical diversity indices.- scales
(numeric or NULL, default NULL) Scale values passed to
vegan::renyi(). WhenNULL, Hill / Rényi computation is skipped.- hill
(logical, default TRUE) If
TRUE, return Hill numbers; ifFALSE, return Rényi entropy. Passed tovegan::renyi(). Only relevant whenscalesis notNULL.- aggregate
(logical, default FALSE) If
TRUEandmodalityis notNULL, summarise per-group results usingfuns.- funs
(named list, default
list(mean = mean, sd = sd)) Summary functions applied whenaggregate = TRUE. Passed todplyr::across().
Value
A data frame with one row per sample. Columns correspond to the
requested indices and/or Hill / Rényi scales. When modality is
supplied, an additional column named after modality identifies the
group (possibly NA). When aggregate = TRUE rows are collapsed to
one per group with summary statistics.
Examples
div_pq(data_fungi_mini, indices = c("shannon", "simpson"))
#> shannon simpson
#> 1 1.3293751331 0.6988879117
#> 2 0.0117775615 0.0027420613
#> 3 1.4235388425 0.7271461854
#> 4 0.5056841131 0.1846099855
#> 5 0.6867609795 0.4936274051
#> 6 0.8037421073 0.4567474048
#> 7 0.8995904369 0.4829639919
#> 8 0.7726198358 0.4586784056
#> 9 0.0474342125 0.0144603807
#> 10 0.1840826879 0.0720164609
#> 11 0.4258484492 0.2037037037
#> 12 0.0587202018 0.0209664025
#> 13 1.0385673327 0.6275608202
#> 14 0.0350618434 0.0100951881
#> 15 0.6474978705 0.3759639173
#> 16 0.7078254119 0.4594495586
#> 17 0.8932599598 0.4630126953
#> 18 0.6625917916 0.4496318985
#> 19 0.8358825741 0.4296820949
#> 20 0.2340816385 0.0861397935
#> 21 0.4968117772 0.3168966089
#> 22 1.3734688186 0.7423843370
#> 23 0.9387392268 0.5594631548
#> 24 0.7255636051 0.5019388053
#> 25 0.8075164154 0.4680710317
#> 26 1.0414298289 0.5269373207
#> 27 0.0000000000 0.0000000000
#> 28 0.0000000000 0.0000000000
#> 29 0.8871458958 0.5524917009
#> 30 0.7373407049 0.4469669118
#> 31 0.0000000000 0.0000000000
#> 32 0.7948020305 0.5235440789
#> 33 0.3372396696 0.1342704829
#> 34 0.0000000000 0.0000000000
#> 35 0.1386614620 0.0585305955
#> 36 1.3439085459 0.7016444491
#> 37 0.3184468659 0.1713595680
#> 38 0.0000000000 0.0000000000
#> 39 1.8845226070 0.8380146920
#> 40 0.0000000000 0.0000000000
#> 41 0.0030915144 0.0006060606
#> 42 0.0022616077 0.0004479032
#> 43 0.4879569147 0.2903099174
#> 44 0.1228294281 0.0511083601
#> 45 0.0000000000 0.0000000000
#> 46 0.8429417591 0.5282108340
#> 47 0.1260232873 0.0535308476
#> 48 0.0000000000 0.0000000000
#> 49 0.9042114434 0.5493482066
#> 50 1.1008332370 0.6085217913
#> 51 0.5825842452 0.3024574669
#> 52 0.9288940175 0.4638264974
#> 53 1.0490396848 0.5870138743
#> 54 0.2601558945 0.1157049375
#> 55 0.8338038603 0.3931012860
#> 56 0.2612258902 0.1130524057
#> 57 0.0000000000 0.0000000000
#> 58 0.0000000000 0.0000000000
#> 59 0.0000000000 0.0000000000
#> 60 1.3176419921 0.6195272495
#> 61 1.3685087417 0.7097658713
#> 62 0.4153797972 0.1759590575
#> 63 0.3523451816 0.1374066043
#> 64 0.8440593193 0.4710207612
#> 65 0.3861256278 0.1999376578
#> 66 0.0050221739 0.0010583633
#> 67 0.0000000000 0.0000000000
#> 68 0.0000000000 0.0000000000
#> 69 1.0413632022 0.5838543327
#> 70 0.3867347412 0.1814686659
#> 71 0.0057975973 0.0014025239
#> 72 0.0000000000 0.0000000000
#> 73 0.6320818147 0.4256482899
#> 74 1.2763084743 0.6460440214
#> 75 0.4880695250 0.2607798388
#> 76 0.0049895382 0.0010825926
#> 77 0.6829081047 0.4897959184
#> 78 0.0000000000 0.0000000000
#> 79 0.0113693794 0.0025985255
#> 80 0.0177993412 0.0048962812
#> 81 0.0732077753 0.0257923577
#> 82 0.1138631038 0.0412770173
#> 83 0.0000000000 0.0000000000
#> 84 0.2033228917 0.0933136221
#> 85 0.0055889146 0.0012497556
#> 86 0.0000000000 0.0000000000
#> 87 0.3607758756 0.1757277883
#> 88 0.0000000000 0.0000000000
#> 89 0.0000000000 0.0000000000
#> 90 1.2280735036 0.6564625850
#> 91 0.7870789054 0.5043214438
#> 92 0.0000000000 0.0000000000
#> 93 1.1113437660 0.5778252551
#> 94 1.0779007904 0.5989096763
#> 95 0.6844825518 0.3165306751
#> 96 1.1205052176 0.6258225001
#> 97 0.5263331625 0.3233392122
#> 98 1.0974779792 0.6168142012
#> 99 1.0742286090 0.6105445187
#> 100 0.6365141683 0.4444444444
#> 101 0.0728365875 0.0224906289
#> 102 0.0049292549 0.0010261198
#> 103 0.0333397680 0.0097594954
#> 104 0.0348775115 0.0112355964
#> 105 0.4049634851 0.2408000000
#> 106 0.8662483544 0.5021626298
#> 107 0.0000000000 0.0000000000
#> 108 1.0339385145 0.5834400079
#> 109 1.0040588062 0.5623021845
#> 110 0.0000000000 0.0000000000
#> 111 0.3144922013 0.1723356009
#> 112 0.0000000000 0.0000000000
#> 113 0.7716977180 0.4397039429
#> 114 0.7667980847 0.5146198830
#> 115 0.7437545484 0.4987745152
#> 116 0.6931471806 0.5000000000
#> 117 0.0000000000 0.0000000000
#> 118 1.2848846975 0.6180707737
#> 119 0.3553435491 0.2006874057
#> 120 0.6057974994 0.4152249135
#> 121 1.1022297190 0.6005813823
#> 122 0.3953244118 0.1819505448
#> 123 0.0000000000 0.0000000000
#> 124 1.2746401338 0.6686895349
#> 125 0.6931471806 0.5000000000
#> 126 1.3837460904 0.7487273772
#> 127 1.5053412718 0.7643960254
#> 128 1.3363281925 0.7192560226
#> 129 0.0009560406 0.0001859254
#> 130 0.0000000000 0.0000000000
#> 131 1.5408651011 0.7723183391
#> 132 0.7119604425 0.4902000262
#> 133 0.9331492458 0.5307343529
#> 134 0.3488320958 0.1975308642
#> 135 0.7647602691 0.3615586586
#> 136 0.6365141683 0.4444444444
#> 137 0.2925991562 0.1162622128
div_pq(
data_fungi_mini,
modality = "Height",
indices = c("shannon", "simpson"),
scales = c(0, 1, 2),
hill = TRUE
)
#> shannon simpson hill_0 hill_1 hill_2 Height
#> 1 1.3293751331 0.6988879117 6 3.778681 3.321022 Low
#> 2 0.6867609795 0.4936274051 2 1.987268 1.974830 Low
#> 3 0.4258484492 0.2037037037 3 1.530889 1.255814 Low
#> 4 0.7078254119 0.4594495586 7 2.029573 1.849966 Low
#> 5 0.4968117772 0.3168966089 2 1.643473 1.463907 Low
#> 6 0.9387392268 0.5594631548 7 2.556756 2.269958 Low
#> 7 0.1386614620 0.0585305955 4 1.148735 1.062169 Low
#> 8 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 9 0.0030915144 0.0006060606 4 1.003096 1.000606 Low
#> 10 0.9042114434 0.5493482066 7 2.469983 2.219008 Low
#> 11 0.2601558945 0.1157049375 3 1.297132 1.130844 Low
#> 12 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 13 0.3523451816 0.1374066043 6 1.422399 1.159295 Low
#> 14 0.0050221739 0.0010583633 4 1.005035 1.001059 Low
#> 15 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 16 0.4880695250 0.2607798388 7 1.629168 1.352777 Low
#> 17 0.6829081047 0.4897959184 2 1.979626 1.960000 Low
#> 18 0.0732077753 0.0257923577 5 1.075954 1.026475 Low
#> 19 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 20 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 21 0.6844825518 0.3165306751 6 1.982746 1.463123 Low
#> 22 0.6365141683 0.4444444444 2 1.889882 1.800000 Low
#> 23 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 24 0.3144922013 0.1723356009 2 1.369564 1.208219 Low
#> 25 0.7716977180 0.4397039429 6 2.163436 1.784771 Low
#> 26 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 27 0.6057974994 0.4152249135 2 1.832713 1.710059 Low
#> 28 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 29 1.3837460904 0.7487273772 4 3.989820 3.979741 Low
#> 30 0.0000000000 0.0000000000 1 1.000000 1.000000 Low
#> 31 0.3488320958 0.1975308642 2 1.417411 1.246154 Low
#> 32 0.7647602691 0.3615586586 7 2.148479 1.566315 Low
#> 33 0.0117775615 0.0027420613 5 1.011847 1.002750 High
#> 34 0.7726198358 0.4586784056 6 2.165432 1.847331 High
#> 35 0.0587202018 0.0209664025 2 1.060478 1.021415 High
#> 36 0.8932599598 0.4630126953 8 2.443081 1.862241 High
#> 37 0.7255636051 0.5019388053 3 2.065895 2.007785 High
#> 38 0.0000000000 0.0000000000 1 1.000000 1.000000 High
#> 39 0.0000000000 0.0000000000 1 1.000000 1.000000 High
#> 40 1.3439085459 0.7016444491 7 3.834000 3.351706 High
#> 41 0.0022616077 0.0004479032 3 1.002264 1.000448 High
#> 42 1.1008332370 0.6085217913 6 3.006670 2.554421 High
#> 43 0.0000000000 0.0000000000 1 1.000000 1.000000 High
#> 44 0.0000000000 0.0000000000 1 1.000000 1.000000 High
#> 45 0.3867347412 0.1814686659 3 1.472166 1.221700 High
#> 46 0.6320818147 0.4256482899 5 1.881523 1.741093 High
#> 47 0.0000000000 0.0000000000 1 1.000000 1.000000 High
#> 48 0.2033228917 0.0933136221 4 1.225468 1.102917 High
#> 49 0.3607758756 0.1757277883 3 1.434442 1.213191 High
#> 50 1.2280735036 0.6564625850 5 3.414645 2.910891 High
#> 51 1.1113437660 0.5778252551 5 3.038439 2.368687 High
#> 52 1.1205052176 0.6258225001 7 3.066403 2.672528 High
#> 53 1.0974779792 0.6168142012 5 2.996599 2.609700 High
#> 54 0.0728365875 0.0224906289 4 1.075555 1.023008 High
#> 55 0.0348775115 0.0112355964 2 1.035493 1.011363 High
#> 56 1.0339385145 0.5834400079 7 2.812120 2.400615 High
#> 57 1.5053412718 0.7643960254 7 4.505691 4.244411 High
#> 58 1.5408651011 0.7723183391 7 4.668627 4.392097 High
#> 59 0.9331492458 0.5307343529 5 2.542504 2.130989 High
#> 60 0.6365141683 0.4444444444 2 1.889882 1.800000 High
#> 61 1.4235388425 0.7271461854 7 4.151787 3.664966 Middle
#> 62 1.0385673327 0.6275608202 5 2.825167 2.685002 Middle
#> 63 0.0350618434 0.0100951881 3 1.035684 1.010198 Middle
#> 64 0.6474978705 0.3759639173 5 1.910754 1.602471 Middle
#> 65 0.6625917916 0.4496318985 3 1.939813 1.816966 Middle
#> 66 0.8075164154 0.4680710317 5 2.242332 1.879950 Middle
#> 67 0.8871458958 0.5524917009 9 2.428189 2.234595 Middle
#> 68 0.3184468659 0.1713595680 5 1.374991 1.206796 Middle
#> 69 0.4879569147 0.2903099174 4 1.628985 1.409066 Middle
#> 70 0.1260232873 0.0535308476 2 1.134309 1.056558 Middle
#> 71 0.5825842452 0.3024574669 3 1.790660 1.433604 Middle
#> 72 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 73 0.8440593193 0.4710207612 5 2.325789 1.890433 Middle
#> 74 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 75 1.2763084743 0.6460440214 5 3.583387 2.825210 Middle
#> 76 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 77 0.0055889146 0.0012497556 3 1.005605 1.001251 Middle
#> 78 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 79 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 80 1.0779007904 0.5989096763 6 2.938505 2.493204 Middle
#> 81 0.5263331625 0.3233392122 3 1.692714 1.477845 Middle
#> 82 1.0742286090 0.6105445187 5 2.927734 2.567688 Middle
#> 83 0.0000000000 0.0000000000 1 1.000000 1.000000 Middle
#> 84 1.0040588062 0.5623021845 5 2.729337 2.284681 Middle
#> 85 0.7667980847 0.5146198830 3 2.152862 2.060241 Middle
#> 86 0.7437545484 0.4987745152 3 2.103820 1.995110 Middle
#> 87 0.6931471806 0.5000000000 2 2.000000 2.000000 Middle
#> 88 1.3363281925 0.7192560226 6 3.805046 3.561964 Middle
#> 89 0.7119604425 0.4902000262 5 2.037983 1.961554 Middle
#> 90 0.2925991562 0.1162622128 4 1.339906 1.131557 Middle
#> 91 0.5056841131 0.1846099855 10 1.658119 1.226407 <NA>
#> 92 0.8037421073 0.4567474048 3 2.233885 1.840764 <NA>
#> 93 0.8995904369 0.4829639919 6 2.458596 1.934101 <NA>
#> 94 0.0474342125 0.0144603807 5 1.048577 1.014673 <NA>
#> 95 0.1840826879 0.0720164609 3 1.202115 1.077605 <NA>
#> 96 0.8358825741 0.4296820949 5 2.306849 1.753408 <NA>
#> 97 0.2340816385 0.0861397935 7 1.263748 1.094259 <NA>
#> 98 1.3734688186 0.7423843370 6 3.949025 3.881752 <NA>
#> 99 1.0414298289 0.5269373207 7 2.833265 2.113885 <NA>
#> 100 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 101 0.7373407049 0.4469669118 4 2.090369 1.808210 <NA>
#> 102 0.7948020305 0.5235440789 6 2.214003 2.098830 <NA>
#> 103 0.3372396696 0.1342704829 6 1.401075 1.155095 <NA>
#> 104 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 105 1.8845226070 0.8380146920 8 6.583211 6.173399 <NA>
#> 106 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 107 0.1228294281 0.0511083601 3 1.130692 1.053861 <NA>
#> 108 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 109 0.8429417591 0.5282108340 7 2.323191 2.119591 <NA>
#> 110 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 111 0.9288940175 0.4638264974 7 2.531708 1.865068 <NA>
#> 112 1.0490396848 0.5870138743 7 2.854908 2.421389 <NA>
#> 113 0.8338038603 0.3931012860 7 2.302059 1.647721 <NA>
#> 114 0.2612258902 0.1130524057 4 1.298521 1.127462 <NA>
#> 115 1.3176419921 0.6195272495 10 3.734605 2.628309 <NA>
#> 116 1.3685087417 0.7097658713 6 3.929486 3.445494 <NA>
#> 117 0.4153797972 0.1759590575 7 1.514946 1.213532 <NA>
#> 118 0.3861256278 0.1999376578 5 1.471269 1.249903 <NA>
#> 119 1.0413632022 0.5838543327 7 2.833076 2.403005 <NA>
#> 120 0.0057975973 0.0014025239 2 1.005814 1.001404 <NA>
#> 121 0.0049895382 0.0010825926 3 1.005002 1.001084 <NA>
#> 122 0.0113693794 0.0025985255 4 1.011434 1.002605 <NA>
#> 123 0.0177993412 0.0048962812 3 1.017959 1.004920 <NA>
#> 124 0.1138631038 0.0412770173 4 1.120599 1.043054 <NA>
#> 125 0.7870789054 0.5043214438 7 2.196969 2.017436 <NA>
#> 126 0.0049292549 0.0010261198 4 1.004941 1.001027 <NA>
#> 127 0.0333397680 0.0097594954 4 1.033902 1.009856 <NA>
#> 128 0.4049634851 0.2408000000 2 1.499248 1.317176 <NA>
#> 129 0.8662483544 0.5021626298 3 2.377973 2.008688 <NA>
#> 130 0.0000000000 0.0000000000 1 1.000000 1.000000 <NA>
#> 131 0.6931471806 0.5000000000 2 2.000000 2.000000 <NA>
#> 132 1.2848846975 0.6180707737 7 3.614251 2.618286 <NA>
#> 133 0.3553435491 0.2006874057 4 1.426671 1.251075 <NA>
#> 134 1.1022297190 0.6005813823 7 3.010872 2.503639 <NA>
#> 135 0.3953244118 0.1819505448 4 1.484866 1.222420 <NA>
#> 136 1.2746401338 0.6686895349 9 3.577414 3.018317 <NA>
#> 137 0.0009560406 0.0001859254 2 1.000956 1.000186 <NA>
div_pq(
data_fungi_mini,
modality = "Height",
indices = "shannon",
aggregate = TRUE
)
#> # A tibble: 4 × 4
#> Height n_samples `shannon_(mean)` `shannon_(sd)`
#> <chr> <int> <dbl> <dbl>
#> 1 High 28 0.600 0.536
#> 2 Low 32 0.406 0.404
#> 3 Middle 30 0.579 0.454
#> 4 NA 47 0.545 0.503